vr1.1

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of CDMS_RTOS_v1_1 by Team Fox

Committer:
cholletisaik777
Date:
Sat Jul 04 08:56:34 2015 +0000
Revision:
8:607ae92fa6af
Parent:
7:c270a9e37290
Child:
11:d6dc9074075b
cdms_rtos_v1_0_3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cholletisaik777 0:d6e3d1e21484 1 #include "mbed.h"
cholletisaik777 0:d6e3d1e21484 2 #include "TC.h"
cholletisaik777 8:607ae92fa6af 3 #include "all_funcs.h"
cholletisaik777 0:d6e3d1e21484 4
cholletisaik777 0:d6e3d1e21484 5 Serial sc(USBTX,USBRX);
cholletisaik777 0:d6e3d1e21484 6
cholletisaik777 7:c270a9e37290 7 void FCTN_CDMS_RLY_TC()
cholletisaik777 0:d6e3d1e21484 8 {
cholletisaik777 8:607ae92fa6af 9 sc.printf("\rin FCTN_CDMS_RLY_TC\r\n");
cholletisaik777 0:d6e3d1e21484 10 uint8_t read;
cholletisaik777 0:d6e3d1e21484 11 sc.scanf("%d",&read); //Packet sequence count
cholletisaik777 0:d6e3d1e21484 12 pac_seq_cnt = read;
cholletisaik777 0:d6e3d1e21484 13 sc.scanf("%d",&read); //Data[0] contains APID,LFB,long_or_short,AoN,Spr and Ack
cholletisaik777 0:d6e3d1e21484 14 apid_size = read;
cholletisaik777 0:d6e3d1e21484 15 apid=(apid_size&0xC0)>>6; //apid is decoded
cholletisaik777 0:d6e3d1e21484 16 long_or_short=(apid_size&0x10)>>4; //size of tc is known
cholletisaik777 0:d6e3d1e21484 17 switch(apid)
cholletisaik777 0:d6e3d1e21484 18 {
cholletisaik777 0:d6e3d1e21484 19 case 1: //apid=01 implies it corresponds to bae
cholletisaik777 0:d6e3d1e21484 20 {
cholletisaik777 1:f926f14a52d8 21 sc.printf("BAE\r\r\r\n");
cholletisaik777 0:d6e3d1e21484 22 uint8_t p_i2c_bae[long_or_short*124+11];
cholletisaik777 0:d6e3d1e21484 23 p_i2c_bae[0]=pac_seq_cnt;
cholletisaik777 0:d6e3d1e21484 24 p_i2c_bae[1]=apid_size;
cholletisaik777 0:d6e3d1e21484 25 sc.scanf("%d",&read); //services contains service_type and sub_service_type
cholletisaik777 0:d6e3d1e21484 26 p_i2c_bae[2] = read;
cholletisaik777 0:d6e3d1e21484 27 for(int i=3;i<(long_or_short*124+11);i++){
cholletisaik777 0:d6e3d1e21484 28 sc.scanf("%d",&read);
cholletisaik777 0:d6e3d1e21484 29 p_i2c_bae[i] = read;
cholletisaik777 0:d6e3d1e21484 30 }
cholletisaik777 1:f926f14a52d8 31 sc.printf("informing BAE about TC using I2C\r\r\n"); //interrupt to be sent to the bae
cholletisaik777 1:f926f14a52d8 32 if(long_or_short==0)
cholletisaik777 1:f926f14a52d8 33 FCTN_MASTER_I2C('s', (char *)p_i2c_bae);
cholletisaik777 1:f926f14a52d8 34 else if(long_or_short==1)
cholletisaik777 1:f926f14a52d8 35 FCTN_MASTER_I2C('l', (char *)p_i2c_bae);
cholletisaik777 1:f926f14a52d8 36 else
cholletisaik777 1:f926f14a52d8 37 sc.printf("long_or_short invalid\r\r\n");
cholletisaik777 1:f926f14a52d8 38 sc.printf("send the packet + CRC to the BAE after receving i2c signal from BAE\r\r\n"); //packet along with crc will be sent when bae is ready
cholletisaik777 0:d6e3d1e21484 39 break;
cholletisaik777 0:d6e3d1e21484 40 }
cholletisaik777 0:d6e3d1e21484 41 case 3:
cholletisaik777 0:d6e3d1e21484 42 {
cholletisaik777 1:f926f14a52d8 43 sc.printf("SPEED\r\r\n"); //speed corresponds to apid = 11
cholletisaik777 0:d6e3d1e21484 44 uint8_t p_i2c_speed[long_or_short*124+11];
cholletisaik777 0:d6e3d1e21484 45 p_i2c_speed[0]=pac_seq_cnt;
cholletisaik777 0:d6e3d1e21484 46 p_i2c_speed[1]=apid_size;
cholletisaik777 0:d6e3d1e21484 47 sc.scanf("%d",&read);
cholletisaik777 0:d6e3d1e21484 48 p_i2c_speed[2] = read; //services contains service_type and sub_service_type
cholletisaik777 0:d6e3d1e21484 49 for(int i=3;i<(long_or_short*124+11);i++){
cholletisaik777 0:d6e3d1e21484 50 sc.scanf("%d",&read);
cholletisaik777 0:d6e3d1e21484 51 p_i2c_speed[i] = read;
cholletisaik777 0:d6e3d1e21484 52 }
cholletisaik777 1:f926f14a52d8 53 sc.printf("inform PL about TC using I2C\r\r\n");
cholletisaik777 1:f926f14a52d8 54 sc.printf("send the packet + CRC to the PL after receving i2c signal from PL\r\r\n");
cholletisaik777 0:d6e3d1e21484 55 break;
cholletisaik777 0:d6e3d1e21484 56 }
cholletisaik777 0:d6e3d1e21484 57 case 2:
cholletisaik777 0:d6e3d1e21484 58 {
cholletisaik777 1:f926f14a52d8 59 sc.printf("CDMS\r\r\n"); //apid = 10 corresponds to cdms
cholletisaik777 0:d6e3d1e21484 60 uint8_t services,appdata[long_or_short*124+6],crc[2];
cholletisaik777 0:d6e3d1e21484 61 sc.scanf("%d",&read);
cholletisaik777 0:d6e3d1e21484 62 services = read; //services contains service_type and sub_service_type
cholletisaik777 0:d6e3d1e21484 63 for(int i=3;i<(long_or_short*124+6);i++){
cholletisaik777 0:d6e3d1e21484 64 sc.scanf("%d",&read);
cholletisaik777 0:d6e3d1e21484 65 appdata[i-3] = read;
cholletisaik777 0:d6e3d1e21484 66 }
cholletisaik777 0:d6e3d1e21484 67 sc.scanf("%d",&read);
cholletisaik777 0:d6e3d1e21484 68 crc[0] = read;
cholletisaik777 0:d6e3d1e21484 69 sc.scanf("%d",&read);
cholletisaik777 0:d6e3d1e21484 70 crc[1] = read;
cholletisaik777 0:d6e3d1e21484 71 service_type=(services&0xF0)>>4;
cholletisaik777 0:d6e3d1e21484 72 sub_service_type=(services&0x0F);
cholletisaik777 0:d6e3d1e21484 73 switch(service_type){
cholletisaik777 0:d6e3d1e21484 74 case 6:
cholletisaik777 0:d6e3d1e21484 75 {
cholletisaik777 1:f926f14a52d8 76 sc.printf("memory management syservice_typeem\r\r\n");
cholletisaik777 0:d6e3d1e21484 77 switch(sub_service_type){
cholletisaik777 0:d6e3d1e21484 78 case 1:
cholletisaik777 0:d6e3d1e21484 79 {
cholletisaik777 1:f926f14a52d8 80 sc.printf("READ FROM MEMORY\r\r\n");
cholletisaik777 0:d6e3d1e21484 81 if(appdata[0]==2){ //appdata[0] is pid
cholletisaik777 1:f926f14a52d8 82 sc.printf("RD_L_FLASH1\r\r\n"); //tm is lmb
cholletisaik777 0:d6e3d1e21484 83 //P_CDMS_RD_FLASH
cholletisaik777 0:d6e3d1e21484 84
cholletisaik777 0:d6e3d1e21484 85 for(int i=0;i<128;i++){
cholletisaik777 0:d6e3d1e21484 86 telemetry_type1[i]=long_memory_block_tm[i-1];
cholletisaik777 0:d6e3d1e21484 87 }
cholletisaik777 0:d6e3d1e21484 88 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 89 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 90 }
cholletisaik777 0:d6e3d1e21484 91 }
cholletisaik777 0:d6e3d1e21484 92 else if ((appdata[0]&0xF0)==0x10){
cholletisaik777 1:f926f14a52d8 93 sc.printf("RD_L_FLASH2\r\r\n"); //tm is lmb
cholletisaik777 0:d6e3d1e21484 94 //P_CDMS_RD_FLASH
cholletisaik777 0:d6e3d1e21484 95
cholletisaik777 0:d6e3d1e21484 96 for(int i=0;i<128;i++){
cholletisaik777 0:d6e3d1e21484 97 telemetry_type1[i]=long_memory_block_tm[i-1];
cholletisaik777 0:d6e3d1e21484 98 }
cholletisaik777 0:d6e3d1e21484 99 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 100 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 101 }
cholletisaik777 0:d6e3d1e21484 102 }
cholletisaik777 0:d6e3d1e21484 103 else if (appdata[0]==0x22){
cholletisaik777 1:f926f14a52d8 104 sc.printf("RD_S_FLASH1\r\r\n"); //tm is smb
cholletisaik777 0:d6e3d1e21484 105 //P_CDMS_RD_FLASH
cholletisaik777 0:d6e3d1e21484 106
cholletisaik777 0:d6e3d1e21484 107 telemetry_type2[0]=tmid3_spr_tm;
cholletisaik777 0:d6e3d1e21484 108 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 109 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 110 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 111 telemetry_type2[i]=small_memory_block_tm[i-4];
cholletisaik777 0:d6e3d1e21484 112 }
cholletisaik777 0:d6e3d1e21484 113 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 114 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 115 }
cholletisaik777 0:d6e3d1e21484 116 }
cholletisaik777 0:d6e3d1e21484 117 else if ((appdata[0]&0xF0)==0x30){
cholletisaik777 1:f926f14a52d8 118 sc.printf("RD_S_FLASH2\r\r\n"); //tm is smb
cholletisaik777 0:d6e3d1e21484 119 //P_CDMS_RD_FLASH
cholletisaik777 0:d6e3d1e21484 120
cholletisaik777 0:d6e3d1e21484 121 telemetry_type2[0]=tmid3_spr_tm;
cholletisaik777 0:d6e3d1e21484 122 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 123 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 124 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 125 telemetry_type2[i]=small_memory_block_tm[i-3];
cholletisaik777 0:d6e3d1e21484 126 }
cholletisaik777 0:d6e3d1e21484 127 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 128 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 129 }
cholletisaik777 0:d6e3d1e21484 130 }
cholletisaik777 0:d6e3d1e21484 131 else if (appdata[0]==0x42){
cholletisaik777 1:f926f14a52d8 132 sc.printf("RD_L_RAM1\r\r\n"); //tm is lmb
cholletisaik777 0:d6e3d1e21484 133 //P_CDMS_RD_RAM
cholletisaik777 0:d6e3d1e21484 134
cholletisaik777 0:d6e3d1e21484 135 for(int i=0;i<128;i++){
cholletisaik777 0:d6e3d1e21484 136 telemetry_type1[i]=long_memory_block_tm[i-1];
cholletisaik777 0:d6e3d1e21484 137 }
cholletisaik777 0:d6e3d1e21484 138 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 139 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 140 }
cholletisaik777 0:d6e3d1e21484 141 }
cholletisaik777 0:d6e3d1e21484 142 else if ((appdata[0]&0xF0)==0x50){
cholletisaik777 1:f926f14a52d8 143 sc.printf("RD_L_RAM2\r\r\n"); //tm is lmb
cholletisaik777 0:d6e3d1e21484 144 //P_CDMS_RD_RAM
cholletisaik777 0:d6e3d1e21484 145
cholletisaik777 0:d6e3d1e21484 146 for(int i=0;i<128;i++){
cholletisaik777 0:d6e3d1e21484 147 telemetry_type1[i]=long_memory_block_tm[i-1];
cholletisaik777 0:d6e3d1e21484 148 }
cholletisaik777 0:d6e3d1e21484 149 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 150 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 151 }
cholletisaik777 0:d6e3d1e21484 152 }
cholletisaik777 0:d6e3d1e21484 153 else if (appdata[0]==0x62){
cholletisaik777 1:f926f14a52d8 154 sc.printf("RD_S_RAM\r\r\n"); //tm is smb
cholletisaik777 0:d6e3d1e21484 155 //P_CDMS_RD_RAM
cholletisaik777 0:d6e3d1e21484 156
cholletisaik777 0:d6e3d1e21484 157 telemetry_type2[0]=tmid3_spr_tm;
cholletisaik777 0:d6e3d1e21484 158 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 159 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 160 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 161 telemetry_type2[i]=small_memory_block_tm[i-3];
cholletisaik777 0:d6e3d1e21484 162 }
cholletisaik777 0:d6e3d1e21484 163 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 164 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 165 }
cholletisaik777 0:d6e3d1e21484 166 }
cholletisaik777 0:d6e3d1e21484 167 else if ((appdata[0]&0xF0)==0x70){
cholletisaik777 1:f926f14a52d8 168 sc.printf("RD_S_RAM2\r\r\n"); //tm is smb
cholletisaik777 0:d6e3d1e21484 169 //P_CDMS_RD_RAM
cholletisaik777 0:d6e3d1e21484 170
cholletisaik777 0:d6e3d1e21484 171 telemetry_type2[0]=tmid3_spr_tm;
cholletisaik777 0:d6e3d1e21484 172 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 173 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 174 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 175 telemetry_type2[i]=small_memory_block_tm[i-3];
cholletisaik777 0:d6e3d1e21484 176 }
cholletisaik777 0:d6e3d1e21484 177 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 178 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 179 }
cholletisaik777 0:d6e3d1e21484 180 }
cholletisaik777 0:d6e3d1e21484 181 else {
cholletisaik777 0:d6e3d1e21484 182 sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 183 //Send Invalid TC Telemetry
cholletisaik777 0:d6e3d1e21484 184 }
cholletisaik777 0:d6e3d1e21484 185 break;
cholletisaik777 0:d6e3d1e21484 186 }
cholletisaik777 0:d6e3d1e21484 187 case 5:
cholletisaik777 0:d6e3d1e21484 188 {
cholletisaik777 1:f926f14a52d8 189 sc.printf("WRITE ON MEMORY\r\r\n");
cholletisaik777 0:d6e3d1e21484 190 switch(appdata[0]){
cholletisaik777 1:f926f14a52d8 191 case 0:sc.printf("WR_S_FLASH\r\r\n");
cholletisaik777 0:d6e3d1e21484 192 //P_CDMS_WR_FLASH
cholletisaik777 0:d6e3d1e21484 193 telemetry_type2[0]=0XB0;
cholletisaik777 0:d6e3d1e21484 194 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 195 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 196 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 197 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 198 telemetry_type2[i]=0X00;
cholletisaik777 0:d6e3d1e21484 199 }
cholletisaik777 0:d6e3d1e21484 200
cholletisaik777 0:d6e3d1e21484 201 break;
cholletisaik777 1:f926f14a52d8 202 case 1:sc.printf("WR_S_RAM\r\r\n");
cholletisaik777 0:d6e3d1e21484 203 //P_CDMS_WR_RAM
cholletisaik777 0:d6e3d1e21484 204 telemetry_type2[0]=0XB0;
cholletisaik777 0:d6e3d1e21484 205 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 206 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 207 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 208 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 209 telemetry_type2[i]=0X00;
cholletisaik777 0:d6e3d1e21484 210 }
cholletisaik777 0:d6e3d1e21484 211
cholletisaik777 0:d6e3d1e21484 212 break;
cholletisaik777 1:f926f14a52d8 213 case 16:sc.printf("WR_L_FLASH\r\r\n");
cholletisaik777 0:d6e3d1e21484 214 telemetry_type2[0]=0XB0;
cholletisaik777 0:d6e3d1e21484 215 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 216 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 217 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 218 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 219 telemetry_type2[i]=0X00;
cholletisaik777 0:d6e3d1e21484 220 }
cholletisaik777 0:d6e3d1e21484 221 //P_CDMS_WR_FLASH
cholletisaik777 0:d6e3d1e21484 222
cholletisaik777 0:d6e3d1e21484 223 break;
cholletisaik777 1:f926f14a52d8 224 case 17:sc.printf("WR_L_RAM\r\r\n");
cholletisaik777 0:d6e3d1e21484 225 //P_CDMS_WR_RAM
cholletisaik777 0:d6e3d1e21484 226 telemetry_type2[0]=0XB0;
cholletisaik777 0:d6e3d1e21484 227 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 228 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 229 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 230 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 231 telemetry_type2[i]=0X00;
cholletisaik777 0:d6e3d1e21484 232 }
cholletisaik777 0:d6e3d1e21484 233
cholletisaik777 0:d6e3d1e21484 234 break;
cholletisaik777 0:d6e3d1e21484 235 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 236 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 237 break;}
cholletisaik777 0:d6e3d1e21484 238 }
cholletisaik777 0:d6e3d1e21484 239 break;
cholletisaik777 0:d6e3d1e21484 240 }
cholletisaik777 0:d6e3d1e21484 241 case 6:
cholletisaik777 0:d6e3d1e21484 242 {
cholletisaik777 1:f926f14a52d8 243 sc.printf("WRITE FROM ONE MEMORY TO ANOTHER\r\r\n");
cholletisaik777 0:d6e3d1e21484 244 switch(appdata[0]){
cholletisaik777 1:f926f14a52d8 245 case 0:sc.printf("WR_S_FLASH\r\r\n");
cholletisaik777 0:d6e3d1e21484 246 //P_CDMS_WR_FLASH
cholletisaik777 0:d6e3d1e21484 247 telemetry_type2[0]=0XB0;
cholletisaik777 0:d6e3d1e21484 248 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 249 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 250 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 251 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 252 telemetry_type2[i]=0X00;
cholletisaik777 0:d6e3d1e21484 253 }
cholletisaik777 0:d6e3d1e21484 254 break;
cholletisaik777 1:f926f14a52d8 255 case 1:sc.printf("WR_S_RAM\r\r\n");
cholletisaik777 0:d6e3d1e21484 256 //P_CDMS_WR_RAM
cholletisaik777 0:d6e3d1e21484 257 telemetry_type2[0]=0XB0;
cholletisaik777 0:d6e3d1e21484 258 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 259 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 260 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 261 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 262 telemetry_type2[i]=0X00;
cholletisaik777 0:d6e3d1e21484 263 }
cholletisaik777 0:d6e3d1e21484 264 break;
cholletisaik777 1:f926f14a52d8 265 case 16:sc.printf("WR_L_FLASH\r\r\n");
cholletisaik777 0:d6e3d1e21484 266 //P_CDMS_WR_FLASH
cholletisaik777 0:d6e3d1e21484 267 telemetry_type2[0]=0XB0;
cholletisaik777 0:d6e3d1e21484 268 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 269 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 270 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 271 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 272 telemetry_type2[i]=0X00;
cholletisaik777 0:d6e3d1e21484 273 }
cholletisaik777 0:d6e3d1e21484 274 break;
cholletisaik777 1:f926f14a52d8 275 case 17:sc.printf("WR_L_RAM\r\r\n");
cholletisaik777 0:d6e3d1e21484 276 //P_CDMS_WR_RAM
cholletisaik777 0:d6e3d1e21484 277 telemetry_type2[0]=0XB0;
cholletisaik777 0:d6e3d1e21484 278 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 279 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 280 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 281 for(int i=4;i<11;i++){
cholletisaik777 0:d6e3d1e21484 282 telemetry_type2[i]=0X00;
cholletisaik777 0:d6e3d1e21484 283 }
cholletisaik777 0:d6e3d1e21484 284 break;
cholletisaik777 0:d6e3d1e21484 285 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 286 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 287 break;}
cholletisaik777 0:d6e3d1e21484 288 }
cholletisaik777 0:d6e3d1e21484 289 break;
cholletisaik777 0:d6e3d1e21484 290 }
cholletisaik777 0:d6e3d1e21484 291 case 9:
cholletisaik777 0:d6e3d1e21484 292 {
cholletisaik777 1:f926f14a52d8 293 sc.printf("SEND CRC OF FLASH MEMORY\r\r\n");
cholletisaik777 0:d6e3d1e21484 294 if(appdata[0]==2){
cholletisaik777 1:f926f14a52d8 295 sc.printf("GET_FLASH_CRC\r\r\n"); //tm is crc_flash
cholletisaik777 0:d6e3d1e21484 296 //P_CDMS_GET_FLASH_CRC
cholletisaik777 0:d6e3d1e21484 297
cholletisaik777 0:d6e3d1e21484 298 for(int i=0;i<2;i++){
cholletisaik777 0:d6e3d1e21484 299 telemetry_type1[i]=crc1_tm[i];
cholletisaik777 0:d6e3d1e21484 300 }
cholletisaik777 0:d6e3d1e21484 301 for(int i=2;i<4;i++){
cholletisaik777 0:d6e3d1e21484 302 telemetry_type1[i]=crc2_tm[i-2];
cholletisaik777 0:d6e3d1e21484 303 }
cholletisaik777 0:d6e3d1e21484 304 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 305 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 306 }
cholletisaik777 0:d6e3d1e21484 307 }
cholletisaik777 0:d6e3d1e21484 308 else {
cholletisaik777 0:d6e3d1e21484 309 sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 310 //Send Invalid TC Telemetry
cholletisaik777 0:d6e3d1e21484 311 }
cholletisaik777 0:d6e3d1e21484 312 break;
cholletisaik777 0:d6e3d1e21484 313 }
cholletisaik777 0:d6e3d1e21484 314 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 315 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 316 break;}
cholletisaik777 0:d6e3d1e21484 317 }
cholletisaik777 0:d6e3d1e21484 318 break;
cholletisaik777 0:d6e3d1e21484 319 }
cholletisaik777 0:d6e3d1e21484 320 case 8:
cholletisaik777 0:d6e3d1e21484 321 {
cholletisaik777 7:c270a9e37290 322 sc.printf("FCTNTION MANAGEMENT SERVICE\r\r\n");
cholletisaik777 0:d6e3d1e21484 323 if(sub_service_type==1){
cholletisaik777 0:d6e3d1e21484 324 if((appdata[0]&0xF0)==0x00){
cholletisaik777 1:f926f14a52d8 325 sc.printf("RUN_PRCS\r\r\n");
cholletisaik777 0:d6e3d1e21484 326 switch(appdata[0]){
cholletisaik777 1:f926f14a52d8 327 case 1:sc.printf("P_PL_INIT\r\r\n");//tm is ack_l234
cholletisaik777 0:d6e3d1e21484 328 //P_PL_INIT
cholletisaik777 0:d6e3d1e21484 329 telemetry_type2[0]=tmid2_spr_tm;
cholletisaik777 0:d6e3d1e21484 330 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 331 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 332 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 333 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 334 telemetry_type2[i]=0x00;
cholletisaik777 0:d6e3d1e21484 335 }
cholletisaik777 0:d6e3d1e21484 336 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 337 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 338 }
cholletisaik777 0:d6e3d1e21484 339 break;
cholletisaik777 1:f926f14a52d8 340 case 2:sc.printf("P_PL_MNGR\r\r\n");//tm is ack_l234
cholletisaik777 0:d6e3d1e21484 341 //P_PL_MNGR
cholletisaik777 0:d6e3d1e21484 342 telemetry_type2[0]=tmid2_spr_tm;
cholletisaik777 0:d6e3d1e21484 343 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 344 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 345 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 346 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 347 telemetry_type2[i]=0x00;
cholletisaik777 0:d6e3d1e21484 348 }
cholletisaik777 0:d6e3d1e21484 349 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 350 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 351 }
cholletisaik777 0:d6e3d1e21484 352 break;
cholletisaik777 1:f926f14a52d8 353 case 3:sc.printf("P_COM_INIT\r\r\n");//tm is ack_l234
cholletisaik777 0:d6e3d1e21484 354 //P_COM_INIT
cholletisaik777 0:d6e3d1e21484 355 telemetry_type2[0]=tmid2_spr_tm;
cholletisaik777 0:d6e3d1e21484 356 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 357 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 358 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 359 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 360 telemetry_type2[i]=0x00;
cholletisaik777 0:d6e3d1e21484 361 }
cholletisaik777 0:d6e3d1e21484 362 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 363 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 364 }
cholletisaik777 0:d6e3d1e21484 365 break;
cholletisaik777 1:f926f14a52d8 366 case 4:sc.printf("P_CDMS_HK_MNGR\r\r\n");//tm is ack_l234
cholletisaik777 0:d6e3d1e21484 367 //P_CDMS_HK_MNGR
cholletisaik777 0:d6e3d1e21484 368 telemetry_type2[0]=tmid2_spr_tm;
cholletisaik777 0:d6e3d1e21484 369 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 370 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 371 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 372 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 373 telemetry_type2[i]=0x00;
cholletisaik777 0:d6e3d1e21484 374 }
cholletisaik777 0:d6e3d1e21484 375 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 376 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 377 }
cholletisaik777 0:d6e3d1e21484 378 break;
cholletisaik777 0:d6e3d1e21484 379 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 380 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 381 break;}
cholletisaik777 0:d6e3d1e21484 382 }
cholletisaik777 0:d6e3d1e21484 383 }
cholletisaik777 0:d6e3d1e21484 384 else if((appdata[0]&0xF0)==0x10){
cholletisaik777 1:f926f14a52d8 385 sc.printf("PWR_SWCH\r\r\n");
cholletisaik777 0:d6e3d1e21484 386 //P_CDMS_SWCH_PWR
cholletisaik777 0:d6e3d1e21484 387
cholletisaik777 0:d6e3d1e21484 388 }
cholletisaik777 0:d6e3d1e21484 389 else if((appdata[0]&0xF0)==0x20){
cholletisaik777 1:f926f14a52d8 390 sc.printf("PWR_Rservice_type\r\r\n");
cholletisaik777 0:d6e3d1e21484 391 //P_CDMS_RST_PWR
cholletisaik777 0:d6e3d1e21484 392
cholletisaik777 0:d6e3d1e21484 393 }
cholletisaik777 0:d6e3d1e21484 394 else if((appdata[0]&0xF0)==0xE0){
cholletisaik777 1:f926f14a52d8 395 sc.printf("RD_RTC\r\n"); //tm is func_mngmt_service_tm
sakthipriya 3:0c3f7c3fabc9 396 uint8_t* data;
cholletisaik777 7:c270a9e37290 397 FCTN_CDMS_RD_RTC(data);
cholletisaik777 0:d6e3d1e21484 398 telemetry_type2[0]=tmid4_spr_tm;
cholletisaik777 0:d6e3d1e21484 399 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 400 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 401 for(int i=3;i<11;i++)
cholletisaik777 0:d6e3d1e21484 402 {
cholletisaik777 0:d6e3d1e21484 403 telemetry_type2[i]=data[i-3];
cholletisaik777 0:d6e3d1e21484 404 }
cholletisaik777 1:f926f14a52d8 405 for(int i=0;i<13;i++)
cholletisaik777 0:d6e3d1e21484 406 {
cholletisaik777 1:f926f14a52d8 407 sc.printf("%d\r\r\n",telemetry_type2[i]);
cholletisaik777 0:d6e3d1e21484 408 }
cholletisaik777 5:c77b49508927 409 for(int i=11;i<13;i++)
cholletisaik777 5:c77b49508927 410 {
cholletisaik777 0:d6e3d1e21484 411 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 4:cc85cfaa2086 412 }
cholletisaik777 4:cc85cfaa2086 413 for(int i=0;i<13;i++)
cholletisaik777 4:cc85cfaa2086 414 sd_data[i]=telemetry_type2[i];
cholletisaik777 0:d6e3d1e21484 415 for(int i=13;i<512;i++)
cholletisaik777 5:c77b49508927 416 sd_data[i]='\0';
cholletisaik777 7:c270a9e37290 417 FCTN_WR_SD(sd_data, 512);
cholletisaik777 7:c270a9e37290 418 FCTN_RD_SD(sd_read_data,512);
cholletisaik777 1:f926f14a52d8 419 sc.printf("data read from sd card\r\r\n");
cholletisaik777 1:f926f14a52d8 420 for(int i=0;i<512;i++)
cholletisaik777 4:cc85cfaa2086 421 sc.printf("%d ",sd_read_data[i]);
cholletisaik777 0:d6e3d1e21484 422 }
cholletisaik777 0:d6e3d1e21484 423 else if((appdata[0]&0xF0)==0xF0){
cholletisaik777 1:f926f14a52d8 424 sc.printf("SD_MNGR\r\r\n"); //tm is func_mngmt_service_tm
cholletisaik777 0:d6e3d1e21484 425 //P_CDMS_MNG_SD
cholletisaik777 0:d6e3d1e21484 426
cholletisaik777 0:d6e3d1e21484 427 telemetry_type2[0]=tmid4_spr_tm;
cholletisaik777 0:d6e3d1e21484 428 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 429 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 430 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 431 telemetry_type2[i]=func_mngmt_service_tm[i-3];
cholletisaik777 0:d6e3d1e21484 432 }
cholletisaik777 0:d6e3d1e21484 433 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 434 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 435 }
cholletisaik777 0:d6e3d1e21484 436 }
cholletisaik777 0:d6e3d1e21484 437 else {
cholletisaik777 0:d6e3d1e21484 438 sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 439 //Send Invalid TC Telemetry
cholletisaik777 0:d6e3d1e21484 440 }
cholletisaik777 0:d6e3d1e21484 441 }
cholletisaik777 0:d6e3d1e21484 442 else {
cholletisaik777 0:d6e3d1e21484 443 sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 444 //Send Invalid TC Telemetry
cholletisaik777 0:d6e3d1e21484 445 }
cholletisaik777 0:d6e3d1e21484 446 break;
cholletisaik777 0:d6e3d1e21484 447 }
cholletisaik777 0:d6e3d1e21484 448 case 7:
cholletisaik777 0:d6e3d1e21484 449 {
cholletisaik777 1:f926f14a52d8 450 sc.printf("PAYLOAD MANAGEMENT SERVICE\r\r\n"); //TM is ACKL234
cholletisaik777 0:d6e3d1e21484 451 switch(sub_service_type){
cholletisaik777 1:f926f14a52d8 452 case 1:sc.printf("INSERT PL SCHEDULE\r\r\n");
cholletisaik777 0:d6e3d1e21484 453 telemetry_type2[0]=tmid2_spr_tm;
cholletisaik777 0:d6e3d1e21484 454 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 455 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 456 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 457 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 458 telemetry_type2[i]=0x00;
cholletisaik777 0:d6e3d1e21484 459 }
cholletisaik777 0:d6e3d1e21484 460 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 461 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 462 }
cholletisaik777 0:d6e3d1e21484 463 break;
cholletisaik777 1:f926f14a52d8 464 case 2:sc.printf("DELETE PL SCHEDULE\r\r\n");
cholletisaik777 0:d6e3d1e21484 465 telemetry_type2[0]=tmid2_spr_tm;
cholletisaik777 0:d6e3d1e21484 466 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 467 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 468 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 469 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 470 telemetry_type2[i]=0x00;
cholletisaik777 0:d6e3d1e21484 471 }
cholletisaik777 0:d6e3d1e21484 472 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 473 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 474 }
cholletisaik777 0:d6e3d1e21484 475 break;
cholletisaik777 0:d6e3d1e21484 476 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 477 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 478 break;}
cholletisaik777 0:d6e3d1e21484 479 }
cholletisaik777 0:d6e3d1e21484 480 break;
cholletisaik777 0:d6e3d1e21484 481 }
cholletisaik777 0:d6e3d1e21484 482 case 11:
cholletisaik777 0:d6e3d1e21484 483 {
cholletisaik777 1:f926f14a52d8 484 sc.printf("ONBOARD OPERATIONS SCHEDULING SERVICE\r\r\n");
cholletisaik777 0:d6e3d1e21484 485 switch(sub_service_type){
cholletisaik777 0:d6e3d1e21484 486 case 1:
cholletisaik777 0:d6e3d1e21484 487 {
cholletisaik777 1:f926f14a52d8 488 sc.printf("DISABLE RELEASE OF TCs\r\r\n"); //tm is ack_l1
cholletisaik777 0:d6e3d1e21484 489 telemetry_type2[0]=tmid1_spr_tm;
cholletisaik777 0:d6e3d1e21484 490 telemetry_type2[1]=tc_exec_tm;
cholletisaik777 0:d6e3d1e21484 491 telemetry_type2[2]=tc_service_typeatus_tm;
cholletisaik777 0:d6e3d1e21484 492 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 493 telemetry_type2[i]=pac_seq_cnt_of_tc_tm[i-3];
cholletisaik777 0:d6e3d1e21484 494 }
cholletisaik777 0:d6e3d1e21484 495 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 496 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 497 }
cholletisaik777 0:d6e3d1e21484 498 break;
cholletisaik777 0:d6e3d1e21484 499 }
cholletisaik777 0:d6e3d1e21484 500 case 2:
cholletisaik777 0:d6e3d1e21484 501 {
cholletisaik777 1:f926f14a52d8 502 sc.printf("ENABLE RELEASE OF TCs\r\r\n");
cholletisaik777 0:d6e3d1e21484 503 break;
cholletisaik777 0:d6e3d1e21484 504 }
cholletisaik777 0:d6e3d1e21484 505 case 5:
cholletisaik777 0:d6e3d1e21484 506 {
cholletisaik777 1:f926f14a52d8 507 sc.printf("DELETE TELECOMMANDS\r\r\n");
cholletisaik777 0:d6e3d1e21484 508 break;
cholletisaik777 0:d6e3d1e21484 509 }
cholletisaik777 0:d6e3d1e21484 510 case 6:
cholletisaik777 0:d6e3d1e21484 511 {
cholletisaik777 1:f926f14a52d8 512 sc.printf("REPORT TC LIST IN DETAILED FORM\r\r\n"); //tm is tc_liservice_type
cholletisaik777 0:d6e3d1e21484 513 for(int i=0;i<9;i++){
cholletisaik777 0:d6e3d1e21484 514 telemetry_type1[i]=tc_liservice_type_packet1_tm[i];
cholletisaik777 0:d6e3d1e21484 515 }
cholletisaik777 0:d6e3d1e21484 516 for(int i=9;i<18;i++){
cholletisaik777 0:d6e3d1e21484 517 telemetry_type1[i]=tc_liservice_type_packet2_tm[i-9];
cholletisaik777 0:d6e3d1e21484 518 }
cholletisaik777 0:d6e3d1e21484 519 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 520 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 521 }
cholletisaik777 0:d6e3d1e21484 522 break;
cholletisaik777 0:d6e3d1e21484 523 }
cholletisaik777 0:d6e3d1e21484 524 case 8:
cholletisaik777 0:d6e3d1e21484 525 {
cholletisaik777 1:f926f14a52d8 526 sc.printf("REPORT STATUS OF TC LIST\r\r\n"); //tm is ack_l1
cholletisaik777 0:d6e3d1e21484 527 telemetry_type2[0]=tmid1_spr_tm;
cholletisaik777 0:d6e3d1e21484 528 telemetry_type2[1]=tc_exec_tm;
cholletisaik777 0:d6e3d1e21484 529 telemetry_type2[2]=tc_service_typeatus_tm;
cholletisaik777 0:d6e3d1e21484 530 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 531 telemetry_type2[i]=pac_seq_cnt_of_tc_tm[i-3];
cholletisaik777 0:d6e3d1e21484 532 }
cholletisaik777 0:d6e3d1e21484 533 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 534 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 535 }
cholletisaik777 0:d6e3d1e21484 536 break;
cholletisaik777 0:d6e3d1e21484 537 }
cholletisaik777 0:d6e3d1e21484 538 case 15:
cholletisaik777 0:d6e3d1e21484 539 {
cholletisaik777 1:f926f14a52d8 540 sc.printf("REPORT STATUS OF LAST UNEXECUTED TC\r\r\n"); //tm is ack_l234
cholletisaik777 0:d6e3d1e21484 541 telemetry_type2[0]=tmid2_spr_tm;
cholletisaik777 0:d6e3d1e21484 542 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 543 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 544 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 545 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 546 telemetry_type2[i]=0x00;
cholletisaik777 0:d6e3d1e21484 547 }
cholletisaik777 0:d6e3d1e21484 548 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 549 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 550 }
cholletisaik777 0:d6e3d1e21484 551 break;
cholletisaik777 0:d6e3d1e21484 552 }
cholletisaik777 0:d6e3d1e21484 553 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 554 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 555 break;}
cholletisaik777 0:d6e3d1e21484 556 }
cholletisaik777 0:d6e3d1e21484 557 break;
cholletisaik777 0:d6e3d1e21484 558 }
cholletisaik777 0:d6e3d1e21484 559 case 13:
cholletisaik777 0:d6e3d1e21484 560 {
cholletisaik777 1:f926f14a52d8 561 sc.printf("LARGE DATA TRANSFER\r\r\n"); //tm is ack_l234
cholletisaik777 0:d6e3d1e21484 562 telemetry_type2[0]=tmid2_spr_tm;
cholletisaik777 0:d6e3d1e21484 563 telemetry_type2[1]=tc_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 564 telemetry_type2[2]=tm_pac_seq_cnt_tm;
cholletisaik777 0:d6e3d1e21484 565 telemetry_type2[3]=ackcode_tm;
cholletisaik777 0:d6e3d1e21484 566 for(int i=3;i<11;i++){
cholletisaik777 0:d6e3d1e21484 567 telemetry_type2[i]=0x00;
cholletisaik777 0:d6e3d1e21484 568 }
cholletisaik777 0:d6e3d1e21484 569 for(int i=11;i<13;i++){
cholletisaik777 0:d6e3d1e21484 570 telemetry_type2[i]=crc_tm[i-11];
cholletisaik777 0:d6e3d1e21484 571 }
cholletisaik777 0:d6e3d1e21484 572 break;
cholletisaik777 0:d6e3d1e21484 573 }
cholletisaik777 0:d6e3d1e21484 574 case 15:
cholletisaik777 0:d6e3d1e21484 575 {
cholletisaik777 1:f926f14a52d8 576 sc.printf("ONBOARD STORAGE AND RETRIEVAL SERVICE\r\r\n");
cholletisaik777 0:d6e3d1e21484 577 switch(sub_service_type){
cholletisaik777 0:d6e3d1e21484 578 case 0:
cholletisaik777 0:d6e3d1e21484 579 {
cholletisaik777 1:f926f14a52d8 580 sc.printf("SCF\r\r\n"); //tm is obsrs
cholletisaik777 0:d6e3d1e21484 581 telemetry_type1[0]=frmseqcnt_fileheadpointer_tm;
cholletisaik777 0:d6e3d1e21484 582 for(int i=1;i<128;i++){
cholletisaik777 0:d6e3d1e21484 583 telemetry_type1[i]=multi_obsrs_tm_packets[i-1];
cholletisaik777 0:d6e3d1e21484 584 }
cholletisaik777 0:d6e3d1e21484 585 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 586 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 587 }
cholletisaik777 0:d6e3d1e21484 588 break;
cholletisaik777 0:d6e3d1e21484 589 }
cholletisaik777 0:d6e3d1e21484 590 case 1:
cholletisaik777 0:d6e3d1e21484 591 {
cholletisaik777 1:f926f14a52d8 592 sc.printf("SFF-AT\r\r\n");
cholletisaik777 0:d6e3d1e21484 593 telemetry_type1[0]=frmseqcnt_fileheadpointer_tm; //tm is obsrs
cholletisaik777 0:d6e3d1e21484 594 for(int i=1;i<128;i++){
cholletisaik777 0:d6e3d1e21484 595 telemetry_type1[i]=multi_obsrs_tm_packets[i-1];
cholletisaik777 0:d6e3d1e21484 596 }
cholletisaik777 0:d6e3d1e21484 597 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 598 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 599 }
cholletisaik777 0:d6e3d1e21484 600 break;
cholletisaik777 0:d6e3d1e21484 601 }
cholletisaik777 0:d6e3d1e21484 602 case 2:
cholletisaik777 0:d6e3d1e21484 603 {
cholletisaik777 1:f926f14a52d8 604 sc.printf("SFF-BT\r\r\n"); //tm is obsrs
cholletisaik777 0:d6e3d1e21484 605 telemetry_type1[0]=frmseqcnt_fileheadpointer_tm;
cholletisaik777 0:d6e3d1e21484 606 for(int i=1;i<128;i++){
cholletisaik777 0:d6e3d1e21484 607 telemetry_type1[i]=multi_obsrs_tm_packets[i-1];
cholletisaik777 0:d6e3d1e21484 608 }
cholletisaik777 0:d6e3d1e21484 609 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 610 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 611 }
cholletisaik777 0:d6e3d1e21484 612 break;
cholletisaik777 0:d6e3d1e21484 613 }
cholletisaik777 0:d6e3d1e21484 614 case 3:
cholletisaik777 0:d6e3d1e21484 615 {
cholletisaik777 1:f926f14a52d8 616 sc.printf("LOG\r\r\n"); //tm is obsrs
cholletisaik777 0:d6e3d1e21484 617 telemetry_type1[0]=frmseqcnt_fileheadpointer_tm;
cholletisaik777 0:d6e3d1e21484 618 for(int i=1;i<128;i++){
cholletisaik777 0:d6e3d1e21484 619 telemetry_type1[i]=multi_obsrs_tm_packets[i-1];
cholletisaik777 0:d6e3d1e21484 620 }
cholletisaik777 0:d6e3d1e21484 621 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 622 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 623 }
cholletisaik777 0:d6e3d1e21484 624 break;
cholletisaik777 0:d6e3d1e21484 625 }
cholletisaik777 0:d6e3d1e21484 626 case 4:
cholletisaik777 0:d6e3d1e21484 627 {
cholletisaik777 1:f926f14a52d8 628 sc.printf("HK_ARCHIVE\r\r\n"); //tm is obsrs
cholletisaik777 0:d6e3d1e21484 629 telemetry_type1[0]=frmseqcnt_fileheadpointer_tm;
cholletisaik777 0:d6e3d1e21484 630 for(int i=1;i<128;i++){
cholletisaik777 0:d6e3d1e21484 631 telemetry_type1[i]=multi_obsrs_tm_packets[i-1];
cholletisaik777 0:d6e3d1e21484 632 }
cholletisaik777 0:d6e3d1e21484 633 for(int i=128;i<130;i++){
cholletisaik777 0:d6e3d1e21484 634 telemetry_type1[i]=crc_tm[i-128];
cholletisaik777 0:d6e3d1e21484 635 }
cholletisaik777 0:d6e3d1e21484 636 break;
cholletisaik777 0:d6e3d1e21484 637 }
cholletisaik777 0:d6e3d1e21484 638 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 639 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 640 break;
cholletisaik777 0:d6e3d1e21484 641 }
cholletisaik777 0:d6e3d1e21484 642 }
cholletisaik777 0:d6e3d1e21484 643 break;
cholletisaik777 0:d6e3d1e21484 644 }
cholletisaik777 0:d6e3d1e21484 645 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 646 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 647 break;
cholletisaik777 0:d6e3d1e21484 648 }
cholletisaik777 0:d6e3d1e21484 649 }
cholletisaik777 0:d6e3d1e21484 650 break;
cholletisaik777 0:d6e3d1e21484 651 }
cholletisaik777 0:d6e3d1e21484 652 default:{sc.printf("INVALID TC");
cholletisaik777 0:d6e3d1e21484 653 //send invalid TC TM
cholletisaik777 0:d6e3d1e21484 654 break;
cholletisaik777 0:d6e3d1e21484 655 }
cholletisaik777 0:d6e3d1e21484 656 }
cholletisaik777 0:d6e3d1e21484 657
cholletisaik777 0:d6e3d1e21484 658 }