Raharja Agie / Mbed 2 deprecated Mini-X
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers 2fcs.h Source File

2fcs.h

00001 char gud = 0, flag_com = 1, check_error = start;
00002 
00003 void Get_GPS(char *data) //F_Mode[F_Mode_num] 
00004 {            
00005      int i;
00006      char *pTemp = (char *) &gps; //Fligth Mode Data
00007   
00008      for(i=0;i<GPS_num;i++) *(pTemp+i) = *(data+i); //F_Mode[F_Mode_num] 
00009      gpscal();
00010 }   
00011 
00012 void Get_Mode(char *data) //F_Mode[F_Mode_num] 
00013 {            
00014      int i;
00015      char *pTemp = (char *) &FMD; //Fligth Mode Data
00016   
00017      for(i=0;i<2;i++) *(pTemp+i) = *(data+i); //F_Mode[F_Mode_num] 
00018      //toGCS();
00019 }
00020 
00021 void GCS_data(char data) 
00022 {  
00023    if(check_error == start)
00024    {
00025         if(data == head1) check_error = check1;
00026         else check_error = start;
00027    }
00028 
00029    else if(check_error == check1)
00030    {
00031         if(data == head2) check_error = check2;        
00032         else if(data == Flight_Start_bit2) check_error = check3;
00033         else check_error = start;
00034    }
00035   
00036    else if((check_error == check2)&&(data != End_bit))
00037    { 
00038       GPS[data_cnt] = data;      
00039       if(data_cnt<(GPS_num-1)) data_cnt++;  
00040       else
00041       {
00042                Get_GPS(GPS);           
00043                data_cnt = 0;
00044                check_error = start;
00045       }
00046    }   
00047    
00048    else if((check_error == check3)&&(data != End_bit))
00049    { 
00050       Mode[data_cnt] = data;      
00051       if(data_cnt<(2-1)) data_cnt++;  
00052       else
00053       {
00054                Get_Mode(Mode);           
00055                data_cnt = 0;
00056                check_error = start;
00057       }
00058    } 
00059 
00060    else
00061    {
00062        data_cnt = 0;    
00063        check_error = start;
00064    }           
00065 }
00066 
00067 
00068 void getGCS(){      
00069     unsigned char data;
00070     data = radio.getc();
00071     //GCS_data(data);
00072     radio.putc(radio.getc());
00073 }