saikiran cholleti
/
telecommand_new
telecommand decoding
main.cpp@0:81017b9a3647, 2015-05-15 (annotated)
- Committer:
- cholletisaik777
- Date:
- Fri May 15 05:15:08 2015 +0000
- Revision:
- 0:81017b9a3647
telecommand decoding
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cholletisaik777 | 0:81017b9a3647 | 1 | /*all variables used---------------- |
cholletisaik777 | 0:81017b9a3647 | 2 | In one Frame sequence - Flag -> Packet -> CRC |
cholletisaik777 | 0:81017b9a3647 | 3 | flag |
cholletisaik777 | 0:81017b9a3647 | 4 | {0x7E(8)} |
cholletisaik777 | 0:81017b9a3647 | 5 | Packet - either Short or Long |
cholletisaik777 | 0:81017b9a3647 | 6 | { |
cholletisaik777 | 0:81017b9a3647 | 7 | psc-Packet Sequence Count(8) |
cholletisaik777 | 0:81017b9a3647 | 8 | apid-Application Id(2) |
cholletisaik777 | 0:81017b9a3647 | 9 | lfb-Last Frame Bit(1) |
cholletisaik777 | 0:81017b9a3647 | 10 | los-Long or Short(1) |
cholletisaik777 | 0:81017b9a3647 | 11 | aon-Abort on Nack(1) |
cholletisaik777 | 0:81017b9a3647 | 12 | spr-Spare(2) |
cholletisaik777 | 0:81017b9a3647 | 13 | ack-Acknoledge(1) |
cholletisaik777 | 0:81017b9a3647 | 14 | st-Service type(4) |
cholletisaik777 | 0:81017b9a3647 | 15 | sst-Service Sub Type(4) |
cholletisaik777 | 0:81017b9a3647 | 16 | appdata-Application Data(48 or 1040) |
cholletisaik777 | 0:81017b9a3647 | 17 | } |
cholletisaik777 | 0:81017b9a3647 | 18 | crc-Frame Check Sequence(16) |
cholletisaik777 | 0:81017b9a3647 | 19 | |
cholletisaik777 | 0:81017b9a3647 | 20 | There are totally 12 bytes for short frame |
cholletisaik777 | 0:81017b9a3647 | 21 | and 136 for long frame |
cholletisaik777 | 0:81017b9a3647 | 22 | Short frame-12 |
cholletisaik777 | 0:81017b9a3647 | 23 | { |
cholletisaik777 | 0:81017b9a3647 | 24 | bytes-names |
cholletisaik777 | 0:81017b9a3647 | 25 | 1-Flag |
cholletisaik777 | 0:81017b9a3647 | 26 | 1-PSC |
cholletisaik777 | 0:81017b9a3647 | 27 | 1-APID(2)+LFB(1)+LoS(1)+AoN(1)+Spr(2)+Ack(1) |
cholletisaik777 | 0:81017b9a3647 | 28 | 1-ST(4)+SST(4) |
cholletisaik777 | 0:81017b9a3647 | 29 | 6-Appdata |
cholletisaik777 | 0:81017b9a3647 | 30 | 2-CRC |
cholletisaik777 | 0:81017b9a3647 | 31 | } |
cholletisaik777 | 0:81017b9a3647 | 32 | Long frame-136 |
cholletisaik777 | 0:81017b9a3647 | 33 | { |
cholletisaik777 | 0:81017b9a3647 | 34 | bytes-names |
cholletisaik777 | 0:81017b9a3647 | 35 | 1-Flag |
cholletisaik777 | 0:81017b9a3647 | 36 | 1-PSC |
cholletisaik777 | 0:81017b9a3647 | 37 | 1-APID(2)+LFB(1)+LoS(1)+AoN(1)+Spr(2)+Ack(1) |
cholletisaik777 | 0:81017b9a3647 | 38 | 1-ST(4)+SST(4) |
cholletisaik777 | 0:81017b9a3647 | 39 | 130-Appdata |
cholletisaik777 | 0:81017b9a3647 | 40 | 2-CRC |
cholletisaik777 | 0:81017b9a3647 | 41 | } |
cholletisaik777 | 0:81017b9a3647 | 42 | ------------------------------------*/ |
cholletisaik777 | 0:81017b9a3647 | 43 | #include "mbed.h" |
cholletisaik777 | 0:81017b9a3647 | 44 | |
cholletisaik777 | 0:81017b9a3647 | 45 | Serial pc(USBTX,USBRX); |
cholletisaik777 | 0:81017b9a3647 | 46 | |
cholletisaik777 | 0:81017b9a3647 | 47 | int main() |
cholletisaik777 | 0:81017b9a3647 | 48 | { |
cholletisaik777 | 0:81017b9a3647 | 49 | char data[2],flag,psc,apid,lfb,los,aon,spr,ack,st,sst,crc[2],sappdata[6],lappdata[130]; //All variable used |
cholletisaik777 | 0:81017b9a3647 | 50 | flag=pc.getc(); |
cholletisaik777 | 0:81017b9a3647 | 51 | psc=pc.getc(); |
cholletisaik777 | 0:81017b9a3647 | 52 | data[0]=pc.getc(); //Data[0] contains APID,LFB,LoS,AoN,Spr and Ack |
cholletisaik777 | 0:81017b9a3647 | 53 | data[1]=pc.getc(); //Data[1] contains ST and SST |
cholletisaik777 | 0:81017b9a3647 | 54 | apid=(data[0]&0xC0)>>6; |
cholletisaik777 | 0:81017b9a3647 | 55 | lfb=(data[0]&0x20)>>5; |
cholletisaik777 | 0:81017b9a3647 | 56 | los=(data[0]&0x10)>>4; |
cholletisaik777 | 0:81017b9a3647 | 57 | aon=(data[0]&0x08)>>3; |
cholletisaik777 | 0:81017b9a3647 | 58 | spr=(data[0]&0x06)>>1; |
cholletisaik777 | 0:81017b9a3647 | 59 | ack=(data[0]&0x01); |
cholletisaik777 | 0:81017b9a3647 | 60 | st=(data[1]&0xF0)>>4; |
cholletisaik777 | 0:81017b9a3647 | 61 | sst=(data[1]&0x0F); |
cholletisaik777 | 0:81017b9a3647 | 62 | if(int(los)==0) { |
cholletisaik777 | 0:81017b9a3647 | 63 | for(int i=0; i<6; i++) { |
cholletisaik777 | 0:81017b9a3647 | 64 | sappdata[i]=pc.getc(); |
cholletisaik777 | 0:81017b9a3647 | 65 | } |
cholletisaik777 | 0:81017b9a3647 | 66 | } |
cholletisaik777 | 0:81017b9a3647 | 67 | else { |
cholletisaik777 | 0:81017b9a3647 | 68 | for(int i=0; i<130; i++) { |
cholletisaik777 | 0:81017b9a3647 | 69 | lappdata[i]=pc.getc(); |
cholletisaik777 | 0:81017b9a3647 | 70 | } |
cholletisaik777 | 0:81017b9a3647 | 71 | } |
cholletisaik777 | 0:81017b9a3647 | 72 | |
cholletisaik777 | 0:81017b9a3647 | 73 | crc[0]=pc.getc(); |
cholletisaik777 | 0:81017b9a3647 | 74 | crc[1]=pc.getc(); |
cholletisaik777 | 0:81017b9a3647 | 75 | |
cholletisaik777 | 0:81017b9a3647 | 76 | } |