Raharja Agie
/
Mini-X
2fcs.h@0:d463d5c04541, 2011-08-16 (annotated)
- Committer:
- agiembed
- Date:
- Tue Aug 16 05:32:33 2011 +0000
- Revision:
- 0:d463d5c04541
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
agiembed | 0:d463d5c04541 | 1 | char gud = 0, flag_com = 1, check_error = start; |
agiembed | 0:d463d5c04541 | 2 | |
agiembed | 0:d463d5c04541 | 3 | void Get_GPS(char *data) //F_Mode[F_Mode_num] |
agiembed | 0:d463d5c04541 | 4 | { |
agiembed | 0:d463d5c04541 | 5 | int i; |
agiembed | 0:d463d5c04541 | 6 | char *pTemp = (char *) &gps; //Fligth Mode Data |
agiembed | 0:d463d5c04541 | 7 | |
agiembed | 0:d463d5c04541 | 8 | for(i=0;i<GPS_num;i++) *(pTemp+i) = *(data+i); //F_Mode[F_Mode_num] |
agiembed | 0:d463d5c04541 | 9 | gpscal(); |
agiembed | 0:d463d5c04541 | 10 | } |
agiembed | 0:d463d5c04541 | 11 | |
agiembed | 0:d463d5c04541 | 12 | void Get_Mode(char *data) //F_Mode[F_Mode_num] |
agiembed | 0:d463d5c04541 | 13 | { |
agiembed | 0:d463d5c04541 | 14 | int i; |
agiembed | 0:d463d5c04541 | 15 | char *pTemp = (char *) &FMD; //Fligth Mode Data |
agiembed | 0:d463d5c04541 | 16 | |
agiembed | 0:d463d5c04541 | 17 | for(i=0;i<2;i++) *(pTemp+i) = *(data+i); //F_Mode[F_Mode_num] |
agiembed | 0:d463d5c04541 | 18 | //toGCS(); |
agiembed | 0:d463d5c04541 | 19 | } |
agiembed | 0:d463d5c04541 | 20 | |
agiembed | 0:d463d5c04541 | 21 | void GCS_data(char data) |
agiembed | 0:d463d5c04541 | 22 | { |
agiembed | 0:d463d5c04541 | 23 | if(check_error == start) |
agiembed | 0:d463d5c04541 | 24 | { |
agiembed | 0:d463d5c04541 | 25 | if(data == head1) check_error = check1; |
agiembed | 0:d463d5c04541 | 26 | else check_error = start; |
agiembed | 0:d463d5c04541 | 27 | } |
agiembed | 0:d463d5c04541 | 28 | |
agiembed | 0:d463d5c04541 | 29 | else if(check_error == check1) |
agiembed | 0:d463d5c04541 | 30 | { |
agiembed | 0:d463d5c04541 | 31 | if(data == head2) check_error = check2; |
agiembed | 0:d463d5c04541 | 32 | else if(data == Flight_Start_bit2) check_error = check3; |
agiembed | 0:d463d5c04541 | 33 | else check_error = start; |
agiembed | 0:d463d5c04541 | 34 | } |
agiembed | 0:d463d5c04541 | 35 | |
agiembed | 0:d463d5c04541 | 36 | else if((check_error == check2)&&(data != End_bit)) |
agiembed | 0:d463d5c04541 | 37 | { |
agiembed | 0:d463d5c04541 | 38 | GPS[data_cnt] = data; |
agiembed | 0:d463d5c04541 | 39 | if(data_cnt<(GPS_num-1)) data_cnt++; |
agiembed | 0:d463d5c04541 | 40 | else |
agiembed | 0:d463d5c04541 | 41 | { |
agiembed | 0:d463d5c04541 | 42 | Get_GPS(GPS); |
agiembed | 0:d463d5c04541 | 43 | data_cnt = 0; |
agiembed | 0:d463d5c04541 | 44 | check_error = start; |
agiembed | 0:d463d5c04541 | 45 | } |
agiembed | 0:d463d5c04541 | 46 | } |
agiembed | 0:d463d5c04541 | 47 | |
agiembed | 0:d463d5c04541 | 48 | else if((check_error == check3)&&(data != End_bit)) |
agiembed | 0:d463d5c04541 | 49 | { |
agiembed | 0:d463d5c04541 | 50 | Mode[data_cnt] = data; |
agiembed | 0:d463d5c04541 | 51 | if(data_cnt<(2-1)) data_cnt++; |
agiembed | 0:d463d5c04541 | 52 | else |
agiembed | 0:d463d5c04541 | 53 | { |
agiembed | 0:d463d5c04541 | 54 | Get_Mode(Mode); |
agiembed | 0:d463d5c04541 | 55 | data_cnt = 0; |
agiembed | 0:d463d5c04541 | 56 | check_error = start; |
agiembed | 0:d463d5c04541 | 57 | } |
agiembed | 0:d463d5c04541 | 58 | } |
agiembed | 0:d463d5c04541 | 59 | |
agiembed | 0:d463d5c04541 | 60 | else |
agiembed | 0:d463d5c04541 | 61 | { |
agiembed | 0:d463d5c04541 | 62 | data_cnt = 0; |
agiembed | 0:d463d5c04541 | 63 | check_error = start; |
agiembed | 0:d463d5c04541 | 64 | } |
agiembed | 0:d463d5c04541 | 65 | } |
agiembed | 0:d463d5c04541 | 66 | |
agiembed | 0:d463d5c04541 | 67 | |
agiembed | 0:d463d5c04541 | 68 | void getGCS(){ |
agiembed | 0:d463d5c04541 | 69 | unsigned char data; |
agiembed | 0:d463d5c04541 | 70 | data = radio.getc(); |
agiembed | 0:d463d5c04541 | 71 | //GCS_data(data); |
agiembed | 0:d463d5c04541 | 72 | radio.putc(radio.getc()); |
agiembed | 0:d463d5c04541 | 73 | } |