AAA
Dependencies: mbed
COMMs/COMMs.cpp@0:22d57f537f92, 2018-05-24 (annotated)
- Committer:
- halusis
- Date:
- Thu May 24 09:38:18 2018 +0000
- Revision:
- 0:22d57f537f92
AAA
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
halusis | 0:22d57f537f92 | 1 | #include "mbed.h" |
halusis | 0:22d57f537f92 | 2 | #include "Pin_Assign.h" |
halusis | 0:22d57f537f92 | 3 | #include "Global_Variables.h" |
halusis | 0:22d57f537f92 | 4 | #include "COMMs.h" |
halusis | 0:22d57f537f92 | 5 | |
halusis | 0:22d57f537f92 | 6 | void PrsTrk(void) |
halusis | 0:22d57f537f92 | 7 | { |
halusis | 0:22d57f537f92 | 8 | for(char i=0;i<=63;i++) {MuxPck[i]=TrkPck[i];} //C/P -> 63; |
halusis | 0:22d57f537f92 | 9 | |
halusis | 0:22d57f537f92 | 10 | MuxPck[74]=TrkPck[74]; |
halusis | 0:22d57f537f92 | 11 | MuxPck[75]=TrkPck[75]; |
halusis | 0:22d57f537f92 | 12 | MuxPck[76]=TrkPck[76]; |
halusis | 0:22d57f537f92 | 13 | MuxPck[77]=TrkPck[77]; |
halusis | 0:22d57f537f92 | 14 | MuxPck[78]=TrkPck[78]; |
halusis | 0:22d57f537f92 | 15 | MuxPck[79]=TrkPck[79]; |
halusis | 0:22d57f537f92 | 16 | } |
halusis | 0:22d57f537f92 | 17 | void GetTrk(void) |
halusis | 0:22d57f537f92 | 18 | { |
halusis | 0:22d57f537f92 | 19 | unsigned char Trkbuf; |
halusis | 0:22d57f537f92 | 20 | Trkbuf=Trk.getc(); |
halusis | 0:22d57f537f92 | 21 | |
halusis | 0:22d57f537f92 | 22 | if(Trkbuf==0xfe&&TrkCnt==0||Trkbuf==0xfe&&TrkCnt==1) {TrkPck[TrkCnt]=Trkbuf;TrkCnt++;} |
halusis | 0:22d57f537f92 | 23 | else if(TrkCnt>=2&&TrkCnt<=81) {TrkPck[TrkCnt]=Trkbuf;TrkCnt++;} |
halusis | 0:22d57f537f92 | 24 | else if(Trkbuf==0xff&&TrkCnt==82||Trkbuf==0xff&&TrkCnt==83) {TrkPck[TrkCnt]=Trkbuf;TrkCnt++;} |
halusis | 0:22d57f537f92 | 25 | else if(TrkCnt==84) {PrsTrk(); TrkCnt=0;} |
halusis | 0:22d57f537f92 | 26 | else TrkCnt=0; |
halusis | 0:22d57f537f92 | 27 | } |
halusis | 0:22d57f537f92 | 28 | |
halusis | 0:22d57f537f92 | 29 | void PrsTrg(void) |
halusis | 0:22d57f537f92 | 30 | { |
halusis | 0:22d57f537f92 | 31 | MuxPck[64]=TrgPck[19]; //lat |
halusis | 0:22d57f537f92 | 32 | MuxPck[65]=TrgPck[20]; |
halusis | 0:22d57f537f92 | 33 | MuxPck[66]=TrgPck[21]; |
halusis | 0:22d57f537f92 | 34 | MuxPck[67]=TrgPck[22]; |
halusis | 0:22d57f537f92 | 35 | |
halusis | 0:22d57f537f92 | 36 | MuxPck[68]=TrgPck[23]; //lon |
halusis | 0:22d57f537f92 | 37 | MuxPck[69]=TrgPck[24]; |
halusis | 0:22d57f537f92 | 38 | MuxPck[70]=TrgPck[25]; |
halusis | 0:22d57f537f92 | 39 | MuxPck[71]=TrgPck[26]; |
halusis | 0:22d57f537f92 | 40 | MuxPck[72]=TrgPck[27]; //al |
halusis | 0:22d57f537f92 | 41 | MuxPck[73]=TrgPck[28]; |
halusis | 0:22d57f537f92 | 42 | } |
halusis | 0:22d57f537f92 | 43 | void GetTrg(void) |
halusis | 0:22d57f537f92 | 44 | { |
halusis | 0:22d57f537f92 | 45 | unsigned char Trgbuf; |
halusis | 0:22d57f537f92 | 46 | Trgbuf=Trg.getc(); |
halusis | 0:22d57f537f92 | 47 | |
halusis | 0:22d57f537f92 | 48 | if(Trgbuf==0xfe&&TrgCnt==0||Trgbuf==0xfe&&TrgCnt==1) {TrgPck[TrgCnt]=Trgbuf;TrgCnt++;} |
halusis | 0:22d57f537f92 | 49 | else if(TrgCnt>=2&&TrgCnt<=81) {TrgPck[TrgCnt]=Trgbuf;TrgCnt++;} |
halusis | 0:22d57f537f92 | 50 | else if(Trgbuf==0xff&&TrgCnt==82||Trgbuf==0xff&&TrgCnt==83) {TrgPck[TrgCnt]=Trgbuf;TrgCnt++;} |
halusis | 0:22d57f537f92 | 51 | else if(TrgCnt==84) {PrsTrg(); TrgCnt=0;} |
halusis | 0:22d57f537f92 | 52 | else TrgCnt=0; |
halusis | 0:22d57f537f92 | 53 | } |
halusis | 0:22d57f537f92 | 54 | |
halusis | 0:22d57f537f92 | 55 | void PrsPc(void) |
halusis | 0:22d57f537f92 | 56 | { |
halusis | 0:22d57f537f92 | 57 | for(char i=0;i<=26;i++) {Trk.putc(PcPck[i]);} |
halusis | 0:22d57f537f92 | 58 | } |
halusis | 0:22d57f537f92 | 59 | void GetPc(void) |
halusis | 0:22d57f537f92 | 60 | { |
halusis | 0:22d57f537f92 | 61 | unsigned char Pcbuf; |
halusis | 0:22d57f537f92 | 62 | Pcbuf=Pc.getc(); |
halusis | 0:22d57f537f92 | 63 | |
halusis | 0:22d57f537f92 | 64 | if(Pcbuf==0xfe&&PcCnt==0||Pcbuf==0xfe&&PcCnt==1) {PcPck[PcCnt]=Pcbuf;PcCnt++;} |
halusis | 0:22d57f537f92 | 65 | else if(PcCnt>=2&&PcCnt<=24) {PcPck[PcCnt]=Pcbuf;PcCnt++;} |
halusis | 0:22d57f537f92 | 66 | else if(Pcbuf==0xff&&PcCnt==25||Pcbuf==0xff&&PcCnt==26) {PcPck[PcCnt]=Pcbuf;PcCnt++;} |
halusis | 0:22d57f537f92 | 67 | else if(PcCnt==27) {PrsPc(); PcCnt=0;} |
halusis | 0:22d57f537f92 | 68 | else PcCnt=0; |
halusis | 0:22d57f537f92 | 69 | } |
halusis | 0:22d57f537f92 | 70 | |
halusis | 0:22d57f537f92 | 71 | void Mux2GCS(void) |
halusis | 0:22d57f537f92 | 72 | { |
halusis | 0:22d57f537f92 | 73 | int chksum=0; |
halusis | 0:22d57f537f92 | 74 | for(char ChkCnt=1;ChkCnt<=73;ChkCnt++) |
halusis | 0:22d57f537f92 | 75 | { |
halusis | 0:22d57f537f92 | 76 | chksum+=MuxPck[6+ChkCnt]; |
halusis | 0:22d57f537f92 | 77 | } |
halusis | 0:22d57f537f92 | 78 | MuxPck[80]=chksum/256; |
halusis | 0:22d57f537f92 | 79 | MuxPck[81]=chksum%256; |
halusis | 0:22d57f537f92 | 80 | MuxPck[82]=0xff; |
halusis | 0:22d57f537f92 | 81 | MuxPck[83]=0xff; |
halusis | 0:22d57f537f92 | 82 | |
halusis | 0:22d57f537f92 | 83 | for(char i=0;i<=83;i++) {Pc.putc(MuxPck[i]);} |
halusis | 0:22d57f537f92 | 84 | } |