TC_skeleton(CDMS)

Dependencies:   mbed

Fork of TC_skeleton by saikiran cholleti

Committer:
cholletisaik777
Date:
Thu May 21 07:11:42 2015 +0000
Revision:
0:3ad73d285b54
TC_skeleton(CDMS)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cholletisaik777 0:3ad73d285b54 1 /*all variables used----------------
cholletisaik777 0:3ad73d285b54 2 In one Frame sequence - Flag -> Packet -> CRC
cholletisaik777 0:3ad73d285b54 3 flag
cholletisaik777 0:3ad73d285b54 4 {0x7E(8)}
cholletisaik777 0:3ad73d285b54 5 Packet - either Short or Long
cholletisaik777 0:3ad73d285b54 6 {
cholletisaik777 0:3ad73d285b54 7 psc-Packet Sequence Count(8)
cholletisaik777 0:3ad73d285b54 8 apid-Application Id(2)
cholletisaik777 0:3ad73d285b54 9 lfb-Last Frame Bit(1)
cholletisaik777 0:3ad73d285b54 10 los-Long or Short(1)
cholletisaik777 0:3ad73d285b54 11 aon-Abort on Nack(1)
cholletisaik777 0:3ad73d285b54 12 spr-Spare(2)
cholletisaik777 0:3ad73d285b54 13 ack-Acknoledge(1)
cholletisaik777 0:3ad73d285b54 14 st-Service type(4)
cholletisaik777 0:3ad73d285b54 15 sst-Service Sub Type(4)
cholletisaik777 0:3ad73d285b54 16 appdata-Application Data(48 or 1040)
cholletisaik777 0:3ad73d285b54 17 }
cholletisaik777 0:3ad73d285b54 18 crc-Frame Check Sequence(16)
cholletisaik777 0:3ad73d285b54 19
cholletisaik777 0:3ad73d285b54 20 There are totally 12 bytes for short frame
cholletisaik777 0:3ad73d285b54 21 and 136 for long frame
cholletisaik777 0:3ad73d285b54 22 Short frame-12
cholletisaik777 0:3ad73d285b54 23 {
cholletisaik777 0:3ad73d285b54 24 bytes-names
cholletisaik777 0:3ad73d285b54 25 1-Flag
cholletisaik777 0:3ad73d285b54 26 1-PSC
cholletisaik777 0:3ad73d285b54 27 1-APID(2)+LFB(1)+LoS(1)+AoN(1)+Spr(2)+Ack(1)
cholletisaik777 0:3ad73d285b54 28 1-ST(4)+SST(4)
cholletisaik777 0:3ad73d285b54 29 6-Appdata
cholletisaik777 0:3ad73d285b54 30 2-CRC
cholletisaik777 0:3ad73d285b54 31 }
cholletisaik777 0:3ad73d285b54 32 Long frame-136
cholletisaik777 0:3ad73d285b54 33 {
cholletisaik777 0:3ad73d285b54 34 bytes-names
cholletisaik777 0:3ad73d285b54 35 1-Flag
cholletisaik777 0:3ad73d285b54 36 1-PSC
cholletisaik777 0:3ad73d285b54 37 1-APID(2)+LFB(1)+LoS(1)+AoN(1)+Spr(2)+Ack(1)
cholletisaik777 0:3ad73d285b54 38 1-ST(4)+SST(4)
cholletisaik777 0:3ad73d285b54 39 130-Appdata
cholletisaik777 0:3ad73d285b54 40 2-CRC
cholletisaik777 0:3ad73d285b54 41 }
cholletisaik777 0:3ad73d285b54 42
cholletisaik777 0:3ad73d285b54 43 pid-process id
cholletisaik777 0:3ad73d285b54 44 sst-state id
cholletisaik777 0:3ad73d285b54 45 ------------------------------------*/
cholletisaik777 0:3ad73d285b54 46 #include "mbed.h"
cholletisaik777 0:3ad73d285b54 47
cholletisaik777 0:3ad73d285b54 48 Serial pc(USBTX,USBRX);
cholletisaik777 0:3ad73d285b54 49
cholletisaik777 0:3ad73d285b54 50 uint8_t tmp2[13],tmp1[130];
cholletisaik777 0:3ad73d285b54 51 uint8_t lmb_tm[128],crc_tm[2];
cholletisaik777 0:3ad73d285b54 52 uint8_t fsc_fhp_tm,motp_tm[127];
cholletisaik777 0:3ad73d285b54 53 uint8_t tclp1_tm[9],tclp2_tm[9];
cholletisaik777 0:3ad73d285b54 54 uint8_t crc1_tm[2],crc2_tm[2];
cholletisaik777 0:3ad73d285b54 55 uint8_t tmid1_spr_tm=0xA0,tc_ec_tm,tc_stat_tm,psc_tc_tm[8];
cholletisaik777 0:3ad73d285b54 56 uint8_t tmid2_spr_tm=0xB0,tc_psc_tm,tm_psc_tm,ackcode_tm;
cholletisaik777 0:3ad73d285b54 57 uint8_t tmid3_spr_tm=0xC0,smb_tm[7];
cholletisaik777 0:3ad73d285b54 58 uint8_t tmid4_spr_tm=0xD0,fms[8];
cholletisaik777 0:3ad73d285b54 59
cholletisaik777 0:3ad73d285b54 60 int main()
cholletisaik777 0:3ad73d285b54 61 {
cholletisaik777 0:3ad73d285b54 62 uint8_t apid_size,psc,apid,los,st,sst; //All variable used
cholletisaik777 0:3ad73d285b54 63 pc.scanf("%x",&psc);
cholletisaik777 0:3ad73d285b54 64 pc.scanf("%x",&apid_size); //Data[0] contains APID,LFB,LoS,AoN,Spr and Ack
cholletisaik777 0:3ad73d285b54 65 apid=(apid_size&0xC0)>>6;
cholletisaik777 0:3ad73d285b54 66 los=(apid_size&0x10)>>4;
cholletisaik777 0:3ad73d285b54 67 switch(apid)
cholletisaik777 0:3ad73d285b54 68 {
cholletisaik777 0:3ad73d285b54 69 case 1:
cholletisaik777 0:3ad73d285b54 70 {
cholletisaik777 0:3ad73d285b54 71 printf("BAE\n");
cholletisaik777 0:3ad73d285b54 72 uint8_t p_i2c_bae[los*124+11];
cholletisaik777 0:3ad73d285b54 73 p_i2c_bae[0]=psc;
cholletisaik777 0:3ad73d285b54 74 p_i2c_bae[1]=apid_size;
cholletisaik777 0:3ad73d285b54 75 pc.scanf("%x",&p_i2c_bae[2]);
cholletisaik777 0:3ad73d285b54 76 for(int i=3;i<(los*124+11);i++){
cholletisaik777 0:3ad73d285b54 77 pc.scanf("%x",&p_i2c_bae[i]);
cholletisaik777 0:3ad73d285b54 78 }
cholletisaik777 0:3ad73d285b54 79 printf("inform BAE about TC using I2C\n");
cholletisaik777 0:3ad73d285b54 80 printf("send the packet + CRC to the BAE after receving i2c signal from BAE\n");
cholletisaik777 0:3ad73d285b54 81 break;
cholletisaik777 0:3ad73d285b54 82 }
cholletisaik777 0:3ad73d285b54 83 case 3:
cholletisaik777 0:3ad73d285b54 84 {
cholletisaik777 0:3ad73d285b54 85 printf("SPEED\n");
cholletisaik777 0:3ad73d285b54 86 uint8_t p_i2c_speed[los*124+11];
cholletisaik777 0:3ad73d285b54 87 p_i2c_speed[0]=psc;
cholletisaik777 0:3ad73d285b54 88 p_i2c_speed[1]=apid_size;
cholletisaik777 0:3ad73d285b54 89 pc.scanf("%x",&p_i2c_speed[2]); //services contains ST and SST
cholletisaik777 0:3ad73d285b54 90 for(int i=3;i<(los*124+11);i++){
cholletisaik777 0:3ad73d285b54 91 pc.scanf("%x",&p_i2c_speed[i]);
cholletisaik777 0:3ad73d285b54 92 }
cholletisaik777 0:3ad73d285b54 93 printf("inform PL about TC using I2C\n");
cholletisaik777 0:3ad73d285b54 94 printf("send the packet + CRC to the PL after receving i2c signal from PL\n");
cholletisaik777 0:3ad73d285b54 95 break;
cholletisaik777 0:3ad73d285b54 96 }
cholletisaik777 0:3ad73d285b54 97 case 2:
cholletisaik777 0:3ad73d285b54 98 {
cholletisaik777 0:3ad73d285b54 99 printf("CDMS\n");
cholletisaik777 0:3ad73d285b54 100 uint8_t services,appdata[los*124+6],crc[2];
cholletisaik777 0:3ad73d285b54 101 pc.scanf("%x",&services); //services contains ST and SST
cholletisaik777 0:3ad73d285b54 102 for(int i=3;i<(los*124+6);i++){
cholletisaik777 0:3ad73d285b54 103 pc.scanf("%x",&appdata[i]);
cholletisaik777 0:3ad73d285b54 104 }
cholletisaik777 0:3ad73d285b54 105 pc.scanf("%x",&crc[0]);
cholletisaik777 0:3ad73d285b54 106 pc.scanf("%x",&crc[1]);
cholletisaik777 0:3ad73d285b54 107 st=(services&0xF0)>>4;
cholletisaik777 0:3ad73d285b54 108 sst=(services&0x0F);
cholletisaik777 0:3ad73d285b54 109 switch(st){
cholletisaik777 0:3ad73d285b54 110 case 6:
cholletisaik777 0:3ad73d285b54 111 {
cholletisaik777 0:3ad73d285b54 112 printf("memory management system\n");
cholletisaik777 0:3ad73d285b54 113 switch(sst){
cholletisaik777 0:3ad73d285b54 114 case 1:
cholletisaik777 0:3ad73d285b54 115 {
cholletisaik777 0:3ad73d285b54 116 printf("READ FROM MEMORY\n");
cholletisaik777 0:3ad73d285b54 117 if(appdata[0]==2){ //appdata[0] is pid
cholletisaik777 0:3ad73d285b54 118 printf("RD_L_FLASH1\n");
cholletisaik777 0:3ad73d285b54 119 for(int i=0;i<128;i++){
cholletisaik777 0:3ad73d285b54 120 tmp1[i]=lmb_tm[i-1];
cholletisaik777 0:3ad73d285b54 121 }
cholletisaik777 0:3ad73d285b54 122 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 123 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 124 }
cholletisaik777 0:3ad73d285b54 125 }
cholletisaik777 0:3ad73d285b54 126 else if ((appdata[0]&0xF0)==0x10){
cholletisaik777 0:3ad73d285b54 127 printf("RD_L_FLASH2\n");
cholletisaik777 0:3ad73d285b54 128 for(int i=0;i<128;i++){
cholletisaik777 0:3ad73d285b54 129 tmp1[i]=lmb_tm[i-1];
cholletisaik777 0:3ad73d285b54 130 }
cholletisaik777 0:3ad73d285b54 131 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 132 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 133 }
cholletisaik777 0:3ad73d285b54 134 }
cholletisaik777 0:3ad73d285b54 135 else if (appdata[0]==0x22){
cholletisaik777 0:3ad73d285b54 136 printf("RD_S_FLASH1\n");
cholletisaik777 0:3ad73d285b54 137 tmp2[0]=tmid3_spr_tm;
cholletisaik777 0:3ad73d285b54 138 tmp2[1]=tc_psc_tm;
cholletisaik777 0:3ad73d285b54 139 tmp2[2]=tm_psc_tm;
cholletisaik777 0:3ad73d285b54 140 for(int i=4;i<11;i++){
cholletisaik777 0:3ad73d285b54 141 tmp2[i]=smb_tm[i-4];
cholletisaik777 0:3ad73d285b54 142 }
cholletisaik777 0:3ad73d285b54 143 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 144 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 145 }
cholletisaik777 0:3ad73d285b54 146 }
cholletisaik777 0:3ad73d285b54 147 else if ((appdata[0]&0xF0)==0x30){
cholletisaik777 0:3ad73d285b54 148 printf("RD_S_FLASH2\n");
cholletisaik777 0:3ad73d285b54 149 tmp2[0]=tmid3_spr_tm;
cholletisaik777 0:3ad73d285b54 150 tmp2[1]=tc_psc_tm;
cholletisaik777 0:3ad73d285b54 151 tmp2[2]=tm_psc_tm;
cholletisaik777 0:3ad73d285b54 152 for(int i=3;i<11;i++){
cholletisaik777 0:3ad73d285b54 153 tmp2[i]=smb_tm[i-3];
cholletisaik777 0:3ad73d285b54 154 }
cholletisaik777 0:3ad73d285b54 155 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 156 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 157 }
cholletisaik777 0:3ad73d285b54 158 }
cholletisaik777 0:3ad73d285b54 159 else if (appdata[0]==0x42){
cholletisaik777 0:3ad73d285b54 160 printf("RD_L_RAM1\n");
cholletisaik777 0:3ad73d285b54 161 for(int i=0;i<128;i++){
cholletisaik777 0:3ad73d285b54 162 tmp1[i]=lmb_tm[i-1];
cholletisaik777 0:3ad73d285b54 163 }
cholletisaik777 0:3ad73d285b54 164 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 165 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 166 }
cholletisaik777 0:3ad73d285b54 167 }
cholletisaik777 0:3ad73d285b54 168 else if ((appdata[0]&0xF0)==0x50){
cholletisaik777 0:3ad73d285b54 169 printf("RD_L_RAM2\n");
cholletisaik777 0:3ad73d285b54 170 for(int i=0;i<128;i++){
cholletisaik777 0:3ad73d285b54 171 tmp1[i]=lmb_tm[i-1];
cholletisaik777 0:3ad73d285b54 172 }
cholletisaik777 0:3ad73d285b54 173 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 174 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 175 }
cholletisaik777 0:3ad73d285b54 176 }
cholletisaik777 0:3ad73d285b54 177 else if (appdata[0]==0x62){
cholletisaik777 0:3ad73d285b54 178 printf("RD_S_RAM\n");
cholletisaik777 0:3ad73d285b54 179 tmp2[0]=tmid3_spr_tm;
cholletisaik777 0:3ad73d285b54 180 tmp2[1]=tc_psc_tm;
cholletisaik777 0:3ad73d285b54 181 tmp2[2]=tm_psc_tm;
cholletisaik777 0:3ad73d285b54 182 for(int i=3;i<11;i++){
cholletisaik777 0:3ad73d285b54 183 tmp2[i]=smb_tm[i-3];
cholletisaik777 0:3ad73d285b54 184 }
cholletisaik777 0:3ad73d285b54 185 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 186 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 187 }
cholletisaik777 0:3ad73d285b54 188 }
cholletisaik777 0:3ad73d285b54 189 else if ((appdata[0]&0xF0)==0x70){
cholletisaik777 0:3ad73d285b54 190 printf("RD_S_RAM2\n");
cholletisaik777 0:3ad73d285b54 191 tmp2[0]=tmid3_spr_tm;
cholletisaik777 0:3ad73d285b54 192 tmp2[1]=tc_psc_tm;
cholletisaik777 0:3ad73d285b54 193 tmp2[2]=tm_psc_tm;
cholletisaik777 0:3ad73d285b54 194 for(int i=3;i<11;i++){
cholletisaik777 0:3ad73d285b54 195 tmp2[i]=smb_tm[i-3];
cholletisaik777 0:3ad73d285b54 196 }
cholletisaik777 0:3ad73d285b54 197 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 198 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 199 }
cholletisaik777 0:3ad73d285b54 200 }
cholletisaik777 0:3ad73d285b54 201 break;
cholletisaik777 0:3ad73d285b54 202 }
cholletisaik777 0:3ad73d285b54 203 case 5:
cholletisaik777 0:3ad73d285b54 204 {
cholletisaik777 0:3ad73d285b54 205 printf("WRITE ON MEMORY\n");
cholletisaik777 0:3ad73d285b54 206 switch(appdata[0]){
cholletisaik777 0:3ad73d285b54 207 case 0:printf("WR_S_FLASH\n");
cholletisaik777 0:3ad73d285b54 208 break;
cholletisaik777 0:3ad73d285b54 209 case 1:printf("WR_S_RAM\n");
cholletisaik777 0:3ad73d285b54 210 break;
cholletisaik777 0:3ad73d285b54 211 case 16:printf("WR_L_FLASH\n");
cholletisaik777 0:3ad73d285b54 212 break;
cholletisaik777 0:3ad73d285b54 213 case 17:printf("WR_L_RAM\n");
cholletisaik777 0:3ad73d285b54 214 break;
cholletisaik777 0:3ad73d285b54 215 }
cholletisaik777 0:3ad73d285b54 216 break;
cholletisaik777 0:3ad73d285b54 217 }
cholletisaik777 0:3ad73d285b54 218 case 6:
cholletisaik777 0:3ad73d285b54 219 {
cholletisaik777 0:3ad73d285b54 220 printf("WRITE FROM ONE MEMORY TO ANOTHER\n");
cholletisaik777 0:3ad73d285b54 221 switch(appdata[0]){
cholletisaik777 0:3ad73d285b54 222 case 0:printf("WR_S_FLASH\n");
cholletisaik777 0:3ad73d285b54 223 break;
cholletisaik777 0:3ad73d285b54 224 case 1:printf("WR_S_RAM\n");
cholletisaik777 0:3ad73d285b54 225 break;
cholletisaik777 0:3ad73d285b54 226 case 16:printf("WR_L_FLASH\n");
cholletisaik777 0:3ad73d285b54 227 break;
cholletisaik777 0:3ad73d285b54 228 case 17:printf("WR_L_RAM\n");
cholletisaik777 0:3ad73d285b54 229 break;
cholletisaik777 0:3ad73d285b54 230 }
cholletisaik777 0:3ad73d285b54 231 break;
cholletisaik777 0:3ad73d285b54 232 }
cholletisaik777 0:3ad73d285b54 233 case 9:
cholletisaik777 0:3ad73d285b54 234 {
cholletisaik777 0:3ad73d285b54 235 printf("SEND CRC OF FLASH MEMORY\n");
cholletisaik777 0:3ad73d285b54 236 if(appdata[0]==2){
cholletisaik777 0:3ad73d285b54 237 printf("GET_FLASH_CRC\n");
cholletisaik777 0:3ad73d285b54 238 for(int i=0;i<2;i++){
cholletisaik777 0:3ad73d285b54 239 tmp1[i]=crc1_tm[i];
cholletisaik777 0:3ad73d285b54 240 }
cholletisaik777 0:3ad73d285b54 241 for(int i=2;i<4;i++){
cholletisaik777 0:3ad73d285b54 242 tmp1[i]=crc2_tm[i-2];
cholletisaik777 0:3ad73d285b54 243 }
cholletisaik777 0:3ad73d285b54 244 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 245 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 246 }
cholletisaik777 0:3ad73d285b54 247 }
cholletisaik777 0:3ad73d285b54 248 break;
cholletisaik777 0:3ad73d285b54 249 }
cholletisaik777 0:3ad73d285b54 250 }
cholletisaik777 0:3ad73d285b54 251 break;
cholletisaik777 0:3ad73d285b54 252 }
cholletisaik777 0:3ad73d285b54 253 case 8:
cholletisaik777 0:3ad73d285b54 254 {
cholletisaik777 0:3ad73d285b54 255 printf("FUNCTION MANAGEMENT SERVICE\n");
cholletisaik777 0:3ad73d285b54 256 if(sst==1){
cholletisaik777 0:3ad73d285b54 257 if((appdata[0]&0xF0)==0x00){
cholletisaik777 0:3ad73d285b54 258 printf("RUN_PRCS\n");
cholletisaik777 0:3ad73d285b54 259 switch(appdata[0]){
cholletisaik777 0:3ad73d285b54 260 case 1:printf("P_PL_INIT\n");
cholletisaik777 0:3ad73d285b54 261 break;
cholletisaik777 0:3ad73d285b54 262 case 2:printf("P_PL_MNGR\n");
cholletisaik777 0:3ad73d285b54 263 break;
cholletisaik777 0:3ad73d285b54 264 case 3:printf("P_COM_INIT\n");
cholletisaik777 0:3ad73d285b54 265 break;
cholletisaik777 0:3ad73d285b54 266 case 4:printf("P_CDMS_HK_MNGR\n");
cholletisaik777 0:3ad73d285b54 267 break;
cholletisaik777 0:3ad73d285b54 268 }
cholletisaik777 0:3ad73d285b54 269 }
cholletisaik777 0:3ad73d285b54 270 else if((appdata[0]&0xF0)==0x10){
cholletisaik777 0:3ad73d285b54 271 printf("PWR_SWCH\n");
cholletisaik777 0:3ad73d285b54 272 }
cholletisaik777 0:3ad73d285b54 273 else if((appdata[0]&0xF0)==0x20){
cholletisaik777 0:3ad73d285b54 274 printf("PWR_RST\n");
cholletisaik777 0:3ad73d285b54 275 }
cholletisaik777 0:3ad73d285b54 276 else if((appdata[0]&0xF0)==0xE0){
cholletisaik777 0:3ad73d285b54 277 printf("RD_RTC\n");
cholletisaik777 0:3ad73d285b54 278 tmp2[0]=tmid4_spr_tm;
cholletisaik777 0:3ad73d285b54 279 tmp2[1]=tc_psc_tm;
cholletisaik777 0:3ad73d285b54 280 tmp2[2]=tm_psc_tm;
cholletisaik777 0:3ad73d285b54 281 for(int i=3;i<11;i++){
cholletisaik777 0:3ad73d285b54 282 tmp2[i]=fms[i-3];
cholletisaik777 0:3ad73d285b54 283 }
cholletisaik777 0:3ad73d285b54 284 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 285 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 286 }
cholletisaik777 0:3ad73d285b54 287 }
cholletisaik777 0:3ad73d285b54 288 else if((appdata[0]&0xF0)==0xF0){
cholletisaik777 0:3ad73d285b54 289 printf("SD_MNGR\n");
cholletisaik777 0:3ad73d285b54 290 tmp2[0]=tmid4_spr_tm;
cholletisaik777 0:3ad73d285b54 291 tmp2[1]=tc_psc_tm;
cholletisaik777 0:3ad73d285b54 292 tmp2[2]=tm_psc_tm;
cholletisaik777 0:3ad73d285b54 293 for(int i=3;i<11;i++){
cholletisaik777 0:3ad73d285b54 294 tmp2[i]=fms[i-3];
cholletisaik777 0:3ad73d285b54 295 }
cholletisaik777 0:3ad73d285b54 296 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 297 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 298 }
cholletisaik777 0:3ad73d285b54 299 }
cholletisaik777 0:3ad73d285b54 300 }
cholletisaik777 0:3ad73d285b54 301 break;
cholletisaik777 0:3ad73d285b54 302 }
cholletisaik777 0:3ad73d285b54 303 case 7:
cholletisaik777 0:3ad73d285b54 304 {
cholletisaik777 0:3ad73d285b54 305 printf("PAYLOAD MANAGEMENT SERVICE\n");
cholletisaik777 0:3ad73d285b54 306 switch(sst){
cholletisaik777 0:3ad73d285b54 307 case 1:printf("INSERT PL SCHEDULE\n");
cholletisaik777 0:3ad73d285b54 308 break;
cholletisaik777 0:3ad73d285b54 309 case 2:printf("DELETE PL SCHEDULE\n");
cholletisaik777 0:3ad73d285b54 310 break;
cholletisaik777 0:3ad73d285b54 311 }
cholletisaik777 0:3ad73d285b54 312 break;
cholletisaik777 0:3ad73d285b54 313 }
cholletisaik777 0:3ad73d285b54 314 case 11:
cholletisaik777 0:3ad73d285b54 315 {
cholletisaik777 0:3ad73d285b54 316 printf("ONBOARD OPERATIONS SCHEDULING SERVICE\n");
cholletisaik777 0:3ad73d285b54 317 switch(sst){
cholletisaik777 0:3ad73d285b54 318 case 1:
cholletisaik777 0:3ad73d285b54 319 {
cholletisaik777 0:3ad73d285b54 320 printf("DISABLE RELEASE OF TCs\n");
cholletisaik777 0:3ad73d285b54 321 tmp2[0]=tmid1_spr_tm;
cholletisaik777 0:3ad73d285b54 322 tmp2[1]=tc_ec_tm;
cholletisaik777 0:3ad73d285b54 323 tmp2[2]=tc_stat_tm;
cholletisaik777 0:3ad73d285b54 324 for(int i=3;i<11;i++){
cholletisaik777 0:3ad73d285b54 325 tmp2[i]=psc_tc_tm[i-3];
cholletisaik777 0:3ad73d285b54 326 }
cholletisaik777 0:3ad73d285b54 327 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 328 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 329 }
cholletisaik777 0:3ad73d285b54 330 break;
cholletisaik777 0:3ad73d285b54 331 }
cholletisaik777 0:3ad73d285b54 332 case 2:
cholletisaik777 0:3ad73d285b54 333 {
cholletisaik777 0:3ad73d285b54 334 printf("ENABLE RELEASE OF TCs\n");
cholletisaik777 0:3ad73d285b54 335 break;
cholletisaik777 0:3ad73d285b54 336 }
cholletisaik777 0:3ad73d285b54 337 case 5:
cholletisaik777 0:3ad73d285b54 338 {
cholletisaik777 0:3ad73d285b54 339 printf("DELETE TELECOMMANDS\n");
cholletisaik777 0:3ad73d285b54 340 break;
cholletisaik777 0:3ad73d285b54 341 }
cholletisaik777 0:3ad73d285b54 342 case 6:
cholletisaik777 0:3ad73d285b54 343 {
cholletisaik777 0:3ad73d285b54 344 printf("REPORT TC LIST IN DETAILED FORM\n");
cholletisaik777 0:3ad73d285b54 345 for(int i=0;i<9;i++){
cholletisaik777 0:3ad73d285b54 346 tmp1[i]=tclp1_tm[i];
cholletisaik777 0:3ad73d285b54 347 }
cholletisaik777 0:3ad73d285b54 348 for(int i=9;i<18;i++){
cholletisaik777 0:3ad73d285b54 349 tmp1[i]=tclp2_tm[i-9];
cholletisaik777 0:3ad73d285b54 350 }
cholletisaik777 0:3ad73d285b54 351 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 352 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 353 }
cholletisaik777 0:3ad73d285b54 354 break;
cholletisaik777 0:3ad73d285b54 355 }
cholletisaik777 0:3ad73d285b54 356 case 8:
cholletisaik777 0:3ad73d285b54 357 {
cholletisaik777 0:3ad73d285b54 358 printf("REPORT STATUS OF TC LIST\n");
cholletisaik777 0:3ad73d285b54 359 tmp2[0]=tmid1_spr_tm;
cholletisaik777 0:3ad73d285b54 360 tmp2[1]=tc_ec_tm;
cholletisaik777 0:3ad73d285b54 361 tmp2[2]=tc_stat_tm;
cholletisaik777 0:3ad73d285b54 362 for(int i=3;i<11;i++){
cholletisaik777 0:3ad73d285b54 363 tmp2[i]=psc_tc_tm[i-3];
cholletisaik777 0:3ad73d285b54 364 }
cholletisaik777 0:3ad73d285b54 365 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 366 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 367 }
cholletisaik777 0:3ad73d285b54 368 break;
cholletisaik777 0:3ad73d285b54 369 }
cholletisaik777 0:3ad73d285b54 370 case 15:
cholletisaik777 0:3ad73d285b54 371 {
cholletisaik777 0:3ad73d285b54 372 printf("REPORT STATUS OF LAST UNEXECUTED TC\n");
cholletisaik777 0:3ad73d285b54 373 tmp2[0]=tmid2_spr_tm;
cholletisaik777 0:3ad73d285b54 374 tmp2[1]=tc_psc_tm;
cholletisaik777 0:3ad73d285b54 375 tmp2[2]=tm_psc_tm;
cholletisaik777 0:3ad73d285b54 376 tmp2[3]=ackcode_tm;
cholletisaik777 0:3ad73d285b54 377 for(int i=3;i<11;i++){
cholletisaik777 0:3ad73d285b54 378 tmp2[i]=0x00;
cholletisaik777 0:3ad73d285b54 379 }
cholletisaik777 0:3ad73d285b54 380 for(int i=11;i<13;i++){
cholletisaik777 0:3ad73d285b54 381 tmp2[i]=crc_tm[i-11];
cholletisaik777 0:3ad73d285b54 382 }
cholletisaik777 0:3ad73d285b54 383 break;
cholletisaik777 0:3ad73d285b54 384 }
cholletisaik777 0:3ad73d285b54 385 }
cholletisaik777 0:3ad73d285b54 386 break;
cholletisaik777 0:3ad73d285b54 387 }
cholletisaik777 0:3ad73d285b54 388 case 13:
cholletisaik777 0:3ad73d285b54 389 {
cholletisaik777 0:3ad73d285b54 390 printf("LARGE DATA TRANSFER\n");
cholletisaik777 0:3ad73d285b54 391 break;
cholletisaik777 0:3ad73d285b54 392 }
cholletisaik777 0:3ad73d285b54 393 case 15:
cholletisaik777 0:3ad73d285b54 394 {
cholletisaik777 0:3ad73d285b54 395 printf("ONBOARD STORAGE AND RETRIEVAL SERVICE\n");
cholletisaik777 0:3ad73d285b54 396 switch(sst){
cholletisaik777 0:3ad73d285b54 397 case 0:
cholletisaik777 0:3ad73d285b54 398 {
cholletisaik777 0:3ad73d285b54 399 printf("SCF\n");
cholletisaik777 0:3ad73d285b54 400 tmp1[0]=fsc_fhp_tm;
cholletisaik777 0:3ad73d285b54 401 for(int i=1;i<128;i++){
cholletisaik777 0:3ad73d285b54 402 tmp1[i]=motp_tm[i-1];
cholletisaik777 0:3ad73d285b54 403 }
cholletisaik777 0:3ad73d285b54 404 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 405 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 406 }
cholletisaik777 0:3ad73d285b54 407 break;
cholletisaik777 0:3ad73d285b54 408 }
cholletisaik777 0:3ad73d285b54 409 case 1:
cholletisaik777 0:3ad73d285b54 410 {
cholletisaik777 0:3ad73d285b54 411 printf("SFF-AT\n");
cholletisaik777 0:3ad73d285b54 412 tmp1[0]=fsc_fhp_tm;
cholletisaik777 0:3ad73d285b54 413 for(int i=1;i<128;i++){
cholletisaik777 0:3ad73d285b54 414 tmp1[i]=motp_tm[i-1];
cholletisaik777 0:3ad73d285b54 415 }
cholletisaik777 0:3ad73d285b54 416 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 417 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 418 }
cholletisaik777 0:3ad73d285b54 419 break;
cholletisaik777 0:3ad73d285b54 420 }
cholletisaik777 0:3ad73d285b54 421 case 2:
cholletisaik777 0:3ad73d285b54 422 {
cholletisaik777 0:3ad73d285b54 423 printf("SFF-BT\n");
cholletisaik777 0:3ad73d285b54 424 tmp1[0]=fsc_fhp_tm;
cholletisaik777 0:3ad73d285b54 425 for(int i=1;i<128;i++){
cholletisaik777 0:3ad73d285b54 426 tmp1[i]=motp_tm[i-1];
cholletisaik777 0:3ad73d285b54 427 }
cholletisaik777 0:3ad73d285b54 428 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 429 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 430 }
cholletisaik777 0:3ad73d285b54 431 break;
cholletisaik777 0:3ad73d285b54 432 }
cholletisaik777 0:3ad73d285b54 433 case 3:
cholletisaik777 0:3ad73d285b54 434 {
cholletisaik777 0:3ad73d285b54 435 printf("LOG\n");
cholletisaik777 0:3ad73d285b54 436 tmp1[0]=fsc_fhp_tm;
cholletisaik777 0:3ad73d285b54 437 for(int i=1;i<128;i++){
cholletisaik777 0:3ad73d285b54 438 tmp1[i]=motp_tm[i-1];
cholletisaik777 0:3ad73d285b54 439 }
cholletisaik777 0:3ad73d285b54 440 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 441 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 442 }
cholletisaik777 0:3ad73d285b54 443 break;
cholletisaik777 0:3ad73d285b54 444 }
cholletisaik777 0:3ad73d285b54 445 case 4:
cholletisaik777 0:3ad73d285b54 446 {
cholletisaik777 0:3ad73d285b54 447 printf("HK_ARCHIVE\n");
cholletisaik777 0:3ad73d285b54 448 tmp1[0]=fsc_fhp_tm;
cholletisaik777 0:3ad73d285b54 449 for(int i=1;i<128;i++){
cholletisaik777 0:3ad73d285b54 450 tmp1[i]=motp_tm[i-1];
cholletisaik777 0:3ad73d285b54 451 }
cholletisaik777 0:3ad73d285b54 452 for(int i=128;i<130;i++){
cholletisaik777 0:3ad73d285b54 453 tmp1[i]=crc_tm[i-128];
cholletisaik777 0:3ad73d285b54 454 }
cholletisaik777 0:3ad73d285b54 455 break;
cholletisaik777 0:3ad73d285b54 456 }
cholletisaik777 0:3ad73d285b54 457 }
cholletisaik777 0:3ad73d285b54 458 break;
cholletisaik777 0:3ad73d285b54 459 }
cholletisaik777 0:3ad73d285b54 460 }
cholletisaik777 0:3ad73d285b54 461 break;
cholletisaik777 0:3ad73d285b54 462 }
cholletisaik777 0:3ad73d285b54 463 }
cholletisaik777 0:3ad73d285b54 464
cholletisaik777 0:3ad73d285b54 465 }