PWM and ALGO updated.. PWM getting generated
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of TFR_BAE_vr1_1working_finally_PWM_CTRLALGO_update by
TCTM.cpp@0:7b4c00e3912f, 2015-12-24 (annotated)
- Committer:
- sakthipriya
- Date:
- Thu Dec 24 19:15:43 2015 +0000
- Revision:
- 0:7b4c00e3912f
- Child:
- 3:07e15677a75c
EPS CONOPS BTRY GAUGE
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sakthipriya | 0:7b4c00e3912f | 1 | #include "mbed.h" |
sakthipriya | 0:7b4c00e3912f | 2 | #include "TCTM.h" |
sakthipriya | 0:7b4c00e3912f | 3 | |
sakthipriya | 0:7b4c00e3912f | 4 | uint8_t telemetry_type2[13]; |
sakthipriya | 0:7b4c00e3912f | 5 | uint8_t telemetry_type1[130]; //two types of telemetry possible |
sakthipriya | 0:7b4c00e3912f | 6 | uint8_t long_memory_block_tm[128],crc_tm[2]; // tmlmb |
sakthipriya | 0:7b4c00e3912f | 7 | uint8_t frmseqcnt_fileheadpointer_tm,multi_obsrs_tm_packets[127]; // tm obsrs |
sakthipriya | 0:7b4c00e3912f | 8 | uint8_t tc_liservice_type_packet1_tm[9],tc_liservice_type_packet2_tm[9]; // tm tc_liservice_type |
sakthipriya | 0:7b4c00e3912f | 9 | uint8_t crc1_tm[2],crc2_tm[2]; // tm flash_crc |
sakthipriya | 0:7b4c00e3912f | 10 | uint8_t tmid1_spr_tm=0xA0,tc_exec_tm,tc_service_typeatus_tm,pac_seq_cnt_of_tc_tm[8]; // tm ack_l1 |
sakthipriya | 0:7b4c00e3912f | 11 | uint8_t tmid2_spr_tm=0xB0,tc_pac_seq_cnt_tm,tm_pac_seq_cnt_tm,ackcode_tm; // tm ack_l234 |
sakthipriya | 0:7b4c00e3912f | 12 | uint8_t tmid3_spr_tm=0xC0,small_memory_block_tm[7]; // tm smb |
sakthipriya | 0:7b4c00e3912f | 13 | uint8_t tmid4_spr_tm=0xD0,func_mngmt_service_tm[8]; // tm func_mngmt_service_tm |
sakthipriya | 0:7b4c00e3912f | 14 | uint8_t apid_size,pac_seq_cnt,apid,long_or_short=1,service_type,sub_service_type; //All variable used TC |
sakthipriya | 0:7b4c00e3912f | 15 | uint8_t sd_data[512],sd_read_data[512]; |
sakthipriya | 0:7b4c00e3912f | 16 | int TM_SD_BLOCK_NUMBER = 1;uint8_t rtc_tc_data[8]; |
sakthipriya | 0:7b4c00e3912f | 17 | |
sakthipriya | 0:7b4c00e3912f | 18 | |
sakthipriya | 0:7b4c00e3912f | 19 | void FCTN_TC_DECODE(uint8_t* TC_Packet) |
sakthipriya | 0:7b4c00e3912f | 20 | |
sakthipriya | 0:7b4c00e3912f | 21 | { |
sakthipriya | 0:7b4c00e3912f | 22 | // uint8_t long_or_short; |
sakthipriya | 0:7b4c00e3912f | 23 | // uint8_t TC_Packet[long_or_short*124+11]; |
sakthipriya | 0:7b4c00e3912f | 24 | uint8_t service_type,sub_service_type,ackcode_tm,func_mngmt_service_tm[8],crc_tm[2];; |
sakthipriya | 0:7b4c00e3912f | 25 | service_type=(TC_Packet[2]&0xF0)>>4; |
sakthipriya | 0:7b4c00e3912f | 26 | sub_service_type=(TC_Packet[2]&0x0F); |
sakthipriya | 0:7b4c00e3912f | 27 | switch(service_type){ |
sakthipriya | 0:7b4c00e3912f | 28 | case 6:printf("memory management service\n"); |
sakthipriya | 0:7b4c00e3912f | 29 | switch(sub_service_type){ |
sakthipriya | 0:7b4c00e3912f | 30 | case 1:printf("READ FROM MEMORY\n"); |
sakthipriya | 0:7b4c00e3912f | 31 | if(TC_Packet[3]==2){ //TC_Packet[3] is pid |
sakthipriya | 0:7b4c00e3912f | 32 | printf("RD_L_FyoyouyLASH1\n"); |
sakthipriya | 0:7b4c00e3912f | 33 | //P_BAE_RD_FLASH |
sakthipriya | 0:7b4c00e3912f | 34 | |
sakthipriya | 0:7b4c00e3912f | 35 | uint8_t long_memory_block_tm[128]; |
sakthipriya | 0:7b4c00e3912f | 36 | uint8_t TM_packet[130]; |
sakthipriya | 0:7b4c00e3912f | 37 | for(int i=0;i<128;i++){ |
sakthipriya | 0:7b4c00e3912f | 38 | TM_packet[i]=long_memory_block_tm[i-1]; |
sakthipriya | 0:7b4c00e3912f | 39 | } |
sakthipriya | 0:7b4c00e3912f | 40 | for(int i=128;i<130;i++){ |
sakthipriya | 0:7b4c00e3912f | 41 | //FCTN_CRC(long_memory_block_tm) |
sakthipriya | 0:7b4c00e3912f | 42 | TM_packet[i]=crc_tm[i-128]; |
sakthipriya | 0:7b4c00e3912f | 43 | } |
sakthipriya | 0:7b4c00e3912f | 44 | } |
sakthipriya | 0:7b4c00e3912f | 45 | else if ((TC_Packet[3]&0xF0)==0x10){ |
sakthipriya | 0:7b4c00e3912f | 46 | printf("RD_L_FLASH2\n"); |
sakthipriya | 0:7b4c00e3912f | 47 | //P_BAE_RD_FLASH |
sakthipriya | 0:7b4c00e3912f | 48 | |
sakthipriya | 0:7b4c00e3912f | 49 | uint8_t long_memory_block_tm[128]; |
sakthipriya | 0:7b4c00e3912f | 50 | uint8_t TM_packet[130]; |
sakthipriya | 0:7b4c00e3912f | 51 | for(int i=0;i<128;i++){ |
sakthipriya | 0:7b4c00e3912f | 52 | TM_packet[i]=long_memory_block_tm[i-1]; |
sakthipriya | 0:7b4c00e3912f | 53 | } |
sakthipriya | 0:7b4c00e3912f | 54 | for(int i=128;i<130;i++){ |
sakthipriya | 0:7b4c00e3912f | 55 | TM_packet[i]=crc_tm[i-128]; |
sakthipriya | 0:7b4c00e3912f | 56 | } |
sakthipriya | 0:7b4c00e3912f | 57 | } |
sakthipriya | 0:7b4c00e3912f | 58 | else if (TC_Packet[3]==0x22){ |
sakthipriya | 0:7b4c00e3912f | 59 | printf("RD_S_FLASH1\n"); |
sakthipriya | 0:7b4c00e3912f | 60 | //P_BAE_RD_FLASH |
sakthipriya | 0:7b4c00e3912f | 61 | |
sakthipriya | 0:7b4c00e3912f | 62 | uint8_t tmid_spr_tm=0xC0,tc_psc_tm,tm_psc_tm,small_memory_block_tm[8]; |
sakthipriya | 0:7b4c00e3912f | 63 | uint8_t TM_packet[13]; |
sakthipriya | 0:7b4c00e3912f | 64 | TM_packet[0]=tmid_spr_tm; |
sakthipriya | 0:7b4c00e3912f | 65 | TM_packet[1]=tc_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 66 | TM_packet[2]=tm_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 67 | TM_packet[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 68 | for(int i=3;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 69 | TM_packet[i]=small_memory_block_tm[i-3]; |
sakthipriya | 0:7b4c00e3912f | 70 | } |
sakthipriya | 0:7b4c00e3912f | 71 | for(int i=11;i<13;i++){ |
sakthipriya | 0:7b4c00e3912f | 72 | TM_packet[i]=crc_tm[i-11]; |
sakthipriya | 0:7b4c00e3912f | 73 | } |
sakthipriya | 0:7b4c00e3912f | 74 | } |
sakthipriya | 0:7b4c00e3912f | 75 | else if ((TC_Packet[3]&0xF0)==0x30){ |
sakthipriya | 0:7b4c00e3912f | 76 | printf("RD_S_FLASH2\n"); |
sakthipriya | 0:7b4c00e3912f | 77 | //P_BAE_RD_FLASH |
sakthipriya | 0:7b4c00e3912f | 78 | |
sakthipriya | 0:7b4c00e3912f | 79 | uint8_t tmid_spr_tm=0xC0,tc_psc_tm,tm_psc_tm,small_memory_block_tm[8]; |
sakthipriya | 0:7b4c00e3912f | 80 | uint8_t TM_packet[13]; |
sakthipriya | 0:7b4c00e3912f | 81 | TM_packet[0]=tmid_spr_tm; |
sakthipriya | 0:7b4c00e3912f | 82 | TM_packet[1]=tc_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 83 | TM_packet[2]=tm_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 84 | TM_packet[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 85 | for(int i=3;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 86 | TM_packet[i]=small_memory_block_tm[i-3]; |
sakthipriya | 0:7b4c00e3912f | 87 | } |
sakthipriya | 0:7b4c00e3912f | 88 | for(int i=11;i<13;i++){ |
sakthipriya | 0:7b4c00e3912f | 89 | TM_packet[i]=crc_tm[i-11]; |
sakthipriya | 0:7b4c00e3912f | 90 | } |
sakthipriya | 0:7b4c00e3912f | 91 | } |
sakthipriya | 0:7b4c00e3912f | 92 | else if (TC_Packet[3]==0x42){ |
sakthipriya | 0:7b4c00e3912f | 93 | printf("RD_L_RAM1\n"); |
sakthipriya | 0:7b4c00e3912f | 94 | //P_BAE_RD_RAM |
sakthipriya | 0:7b4c00e3912f | 95 | |
sakthipriya | 0:7b4c00e3912f | 96 | uint8_t long_memory_block_tm[128]; |
sakthipriya | 0:7b4c00e3912f | 97 | uint8_t TM_packet[130]; |
sakthipriya | 0:7b4c00e3912f | 98 | for(int i=0;i<128;i++){ |
sakthipriya | 0:7b4c00e3912f | 99 | TM_packet[i]=long_memory_block_tm[i-1]; |
sakthipriya | 0:7b4c00e3912f | 100 | } |
sakthipriya | 0:7b4c00e3912f | 101 | for(int i=128;i<130;i++){ |
sakthipriya | 0:7b4c00e3912f | 102 | TM_packet[i]=crc_tm[i-128]; |
sakthipriya | 0:7b4c00e3912f | 103 | } |
sakthipriya | 0:7b4c00e3912f | 104 | } |
sakthipriya | 0:7b4c00e3912f | 105 | else if ((TC_Packet[3]&0xF0)==0x50){ |
sakthipriya | 0:7b4c00e3912f | 106 | printf("RD_L_RAM2\n"); |
sakthipriya | 0:7b4c00e3912f | 107 | ////P_BAE_RD_RAM |
sakthipriya | 0:7b4c00e3912f | 108 | uint8_t long_memory_block_tm[128]; |
sakthipriya | 0:7b4c00e3912f | 109 | uint8_t TM_packet[130]; |
sakthipriya | 0:7b4c00e3912f | 110 | for(int i=0;i<128;i++){ |
sakthipriya | 0:7b4c00e3912f | 111 | TM_packet[i]=long_memory_block_tm[i-1]; |
sakthipriya | 0:7b4c00e3912f | 112 | } |
sakthipriya | 0:7b4c00e3912f | 113 | for(int i=128;i<130;i++){ |
sakthipriya | 0:7b4c00e3912f | 114 | TM_packet[i]=crc_tm[i-128]; |
sakthipriya | 0:7b4c00e3912f | 115 | } |
sakthipriya | 0:7b4c00e3912f | 116 | } |
sakthipriya | 0:7b4c00e3912f | 117 | else if (TC_Packet[3]==0x62){ |
sakthipriya | 0:7b4c00e3912f | 118 | printf("RD_S_RAM\n"); |
sakthipriya | 0:7b4c00e3912f | 119 | //P_BAE_RD_RAM |
sakthipriya | 0:7b4c00e3912f | 120 | |
sakthipriya | 0:7b4c00e3912f | 121 | uint8_t tmid_spr_tm=0xC0,tc_psc_tm,tm_psc_tm,small_memory_block_tm[8]; |
sakthipriya | 0:7b4c00e3912f | 122 | uint8_t TM_packet[13]; |
sakthipriya | 0:7b4c00e3912f | 123 | TM_packet[0]=tmid_spr_tm; |
sakthipriya | 0:7b4c00e3912f | 124 | TM_packet[1]=tc_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 125 | TM_packet[2]=tm_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 126 | TM_packet[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 127 | for(int i=3;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 128 | TM_packet[i]=small_memory_block_tm[i-3]; |
sakthipriya | 0:7b4c00e3912f | 129 | } |
sakthipriya | 0:7b4c00e3912f | 130 | for(int i=11;i<13;i++){ |
sakthipriya | 0:7b4c00e3912f | 131 | TM_packet[i]=crc_tm[i-11]; |
sakthipriya | 0:7b4c00e3912f | 132 | } |
sakthipriya | 0:7b4c00e3912f | 133 | } |
sakthipriya | 0:7b4c00e3912f | 134 | else if ((TC_Packet[3]&0xF0)==0x70){ |
sakthipriya | 0:7b4c00e3912f | 135 | printf("RD_S_RAM2\n"); |
sakthipriya | 0:7b4c00e3912f | 136 | //P_BAE_RD_RAM |
sakthipriya | 0:7b4c00e3912f | 137 | |
sakthipriya | 0:7b4c00e3912f | 138 | uint8_t tmid_spr_tm=0xC0,tc_psc_tm,tm_psc_tm,small_memory_block_tm[8]; |
sakthipriya | 0:7b4c00e3912f | 139 | uint8_t TM_packet[13]; |
sakthipriya | 0:7b4c00e3912f | 140 | TM_packet[0]=tmid_spr_tm; |
sakthipriya | 0:7b4c00e3912f | 141 | TM_packet[1]=tc_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 142 | TM_packet[2]=tm_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 143 | TM_packet[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 144 | for(int i=3;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 145 | TM_packet[i]=small_memory_block_tm[i-3]; |
sakthipriya | 0:7b4c00e3912f | 146 | } |
sakthipriya | 0:7b4c00e3912f | 147 | for(int i=11;i<13;i++){ |
sakthipriya | 0:7b4c00e3912f | 148 | TM_packet[i]=crc_tm[i-11]; |
sakthipriya | 0:7b4c00e3912f | 149 | } |
sakthipriya | 0:7b4c00e3912f | 150 | } |
sakthipriya | 0:7b4c00e3912f | 151 | else { |
sakthipriya | 0:7b4c00e3912f | 152 | printf("INVALID TC"); |
sakthipriya | 0:7b4c00e3912f | 153 | //Send Invalid TC Telemetry |
sakthipriya | 0:7b4c00e3912f | 154 | } |
sakthipriya | 0:7b4c00e3912f | 155 | break; |
sakthipriya | 0:7b4c00e3912f | 156 | case 5:printf("WRITE ON MEMORY\n"); |
sakthipriya | 0:7b4c00e3912f | 157 | switch(TC_Packet[3]){ |
sakthipriya | 0:7b4c00e3912f | 158 | case 0:printf("WR_S_FLASH\n"); |
sakthipriya | 0:7b4c00e3912f | 159 | //P_BAE_WR_FLASH |
sakthipriya | 0:7b4c00e3912f | 160 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 161 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 162 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 163 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 164 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 165 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 166 | } |
sakthipriya | 0:7b4c00e3912f | 167 | |
sakthipriya | 0:7b4c00e3912f | 168 | break; |
sakthipriya | 0:7b4c00e3912f | 169 | case 1:printf("WR_S_RAM\n"); |
sakthipriya | 0:7b4c00e3912f | 170 | //P_BAE_WR_RAM |
sakthipriya | 0:7b4c00e3912f | 171 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 172 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 173 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 174 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 175 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 176 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 177 | } |
sakthipriya | 0:7b4c00e3912f | 178 | |
sakthipriya | 0:7b4c00e3912f | 179 | break; |
sakthipriya | 0:7b4c00e3912f | 180 | case 16:printf("WR_L_FLASH\n"); |
sakthipriya | 0:7b4c00e3912f | 181 | //P_BAE_WR_FLASH |
sakthipriya | 0:7b4c00e3912f | 182 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 183 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 184 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 185 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 186 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 187 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 188 | } |
sakthipriya | 0:7b4c00e3912f | 189 | |
sakthipriya | 0:7b4c00e3912f | 190 | break; |
sakthipriya | 0:7b4c00e3912f | 191 | case 17:printf("WR_L_RAM\n"); |
sakthipriya | 0:7b4c00e3912f | 192 | //P_BAE_WR_RAM |
sakthipriya | 0:7b4c00e3912f | 193 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 194 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 195 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 196 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 197 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 198 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 199 | } |
sakthipriya | 0:7b4c00e3912f | 200 | |
sakthipriya | 0:7b4c00e3912f | 201 | break; |
sakthipriya | 0:7b4c00e3912f | 202 | } |
sakthipriya | 0:7b4c00e3912f | 203 | break; |
sakthipriya | 0:7b4c00e3912f | 204 | case 6:printf("WRITE FROM ONE MEMORY TO ANOTHER\n"); |
sakthipriya | 0:7b4c00e3912f | 205 | switch(TC_Packet[3]){ |
sakthipriya | 0:7b4c00e3912f | 206 | case 0:printf("WR_S_FLASH\n"); |
sakthipriya | 0:7b4c00e3912f | 207 | //P_BAE_WR_FLASH |
sakthipriya | 0:7b4c00e3912f | 208 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 209 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 210 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 211 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 212 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 213 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 214 | } |
sakthipriya | 0:7b4c00e3912f | 215 | |
sakthipriya | 0:7b4c00e3912f | 216 | break; |
sakthipriya | 0:7b4c00e3912f | 217 | case 1:printf("WR_S_RAM\n"); |
sakthipriya | 0:7b4c00e3912f | 218 | //P_BAE_WR_RAM |
sakthipriya | 0:7b4c00e3912f | 219 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 220 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 221 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 222 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 223 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 224 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 225 | } |
sakthipriya | 0:7b4c00e3912f | 226 | |
sakthipriya | 0:7b4c00e3912f | 227 | break; |
sakthipriya | 0:7b4c00e3912f | 228 | case 16:printf("WR_L_FLASH\n"); |
sakthipriya | 0:7b4c00e3912f | 229 | //P_BAE_WR_FLASH |
sakthipriya | 0:7b4c00e3912f | 230 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 231 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 232 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 233 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 234 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 235 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 236 | } |
sakthipriya | 0:7b4c00e3912f | 237 | |
sakthipriya | 0:7b4c00e3912f | 238 | break; |
sakthipriya | 0:7b4c00e3912f | 239 | case 17:printf("WR_L_RAM\n"); |
sakthipriya | 0:7b4c00e3912f | 240 | //P_BAE_WR_RAM |
sakthipriya | 0:7b4c00e3912f | 241 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 242 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 243 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 244 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 245 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 246 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 247 | } |
sakthipriya | 0:7b4c00e3912f | 248 | |
sakthipriya | 0:7b4c00e3912f | 249 | break; |
sakthipriya | 0:7b4c00e3912f | 250 | } |
sakthipriya | 0:7b4c00e3912f | 251 | break; |
sakthipriya | 0:7b4c00e3912f | 252 | case 9:printf("SEND CRC OF FLASH MEMORY\n"); |
sakthipriya | 0:7b4c00e3912f | 253 | if(TC_Packet[3]==2){ |
sakthipriya | 0:7b4c00e3912f | 254 | printf("GET_FLASH_CRC\n"); |
sakthipriya | 0:7b4c00e3912f | 255 | //P_BAE_GET_FLASH_CRC |
sakthipriya | 0:7b4c00e3912f | 256 | |
sakthipriya | 0:7b4c00e3912f | 257 | uint8_t crc1_tm[2],crc2_tm[2]; |
sakthipriya | 0:7b4c00e3912f | 258 | uint8_t TM_packet[130]; |
sakthipriya | 0:7b4c00e3912f | 259 | for(int i=0;i<2;i++){ |
sakthipriya | 0:7b4c00e3912f | 260 | TM_packet[i]=crc1_tm[i]; |
sakthipriya | 0:7b4c00e3912f | 261 | } |
sakthipriya | 0:7b4c00e3912f | 262 | for(int i=2;i<4;i++){ |
sakthipriya | 0:7b4c00e3912f | 263 | TM_packet[i]=crc2_tm[i-2]; |
sakthipriya | 0:7b4c00e3912f | 264 | } |
sakthipriya | 0:7b4c00e3912f | 265 | for(int i=128;i<130;i++){ |
sakthipriya | 0:7b4c00e3912f | 266 | TM_packet[i]=crc_tm[i-128]; |
sakthipriya | 0:7b4c00e3912f | 267 | } |
sakthipriya | 0:7b4c00e3912f | 268 | } |
sakthipriya | 0:7b4c00e3912f | 269 | else { |
sakthipriya | 0:7b4c00e3912f | 270 | printf("INVALID TC"); |
sakthipriya | 0:7b4c00e3912f | 271 | //Send Invalid TC Telemetry |
sakthipriya | 0:7b4c00e3912f | 272 | } |
sakthipriya | 0:7b4c00e3912f | 273 | break; |
sakthipriya | 0:7b4c00e3912f | 274 | default:{printf("INVALID TC"); |
sakthipriya | 0:7b4c00e3912f | 275 | //send invalid TC TM |
sakthipriya | 0:7b4c00e3912f | 276 | break;} |
sakthipriya | 0:7b4c00e3912f | 277 | } |
sakthipriya | 0:7b4c00e3912f | 278 | break; |
sakthipriya | 0:7b4c00e3912f | 279 | case 8:printf("FUNCTION MANAGEMENT SERVICE\n"); |
sakthipriya | 0:7b4c00e3912f | 280 | if(sub_service_type==1){ |
sakthipriya | 0:7b4c00e3912f | 281 | if((TC_Packet[3]&0xF0)==0x00){ |
sakthipriya | 0:7b4c00e3912f | 282 | printf("RUN_PRCS\n"); |
sakthipriya | 0:7b4c00e3912f | 283 | switch(TC_Packet[3]){ |
sakthipriya | 0:7b4c00e3912f | 284 | case 1:printf("P_EPS_INIT\n"); |
sakthipriya | 0:7b4c00e3912f | 285 | //FCTN_EPS_INIT |
sakthipriya | 0:7b4c00e3912f | 286 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 287 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 288 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 289 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 290 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 291 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 292 | } |
sakthipriya | 0:7b4c00e3912f | 293 | |
sakthipriya | 0:7b4c00e3912f | 294 | break; |
sakthipriya | 0:7b4c00e3912f | 295 | case 2:printf("P_EPS_MAIN\n"); |
sakthipriya | 0:7b4c00e3912f | 296 | //FCTN_EPS_MAIN |
sakthipriya | 0:7b4c00e3912f | 297 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 298 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 299 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 300 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 301 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 302 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 303 | } |
sakthipriya | 0:7b4c00e3912f | 304 | |
sakthipriya | 0:7b4c00e3912f | 305 | break; |
sakthipriya | 0:7b4c00e3912f | 306 | case 3:printf("P_ACS_INIT\n"); |
sakthipriya | 0:7b4c00e3912f | 307 | //FCTN_ACS_INIT |
sakthipriya | 0:7b4c00e3912f | 308 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 309 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 310 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 311 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 312 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 313 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 314 | } |
sakthipriya | 0:7b4c00e3912f | 315 | |
sakthipriya | 0:7b4c00e3912f | 316 | break; |
sakthipriya | 0:7b4c00e3912f | 317 | case 4:printf("P_ACS_ACQ_DATA\n"); |
sakthipriya | 0:7b4c00e3912f | 318 | //P_ACS_ACQ_DATA |
sakthipriya | 0:7b4c00e3912f | 319 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 320 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 321 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 322 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 323 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 324 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 325 | } |
sakthipriya | 0:7b4c00e3912f | 326 | |
sakthipriya | 0:7b4c00e3912f | 327 | break; |
sakthipriya | 0:7b4c00e3912f | 328 | case 5:printf("P_ACS_MAIN\n"); |
sakthipriya | 0:7b4c00e3912f | 329 | //P_ACS_MAIN |
sakthipriya | 0:7b4c00e3912f | 330 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 331 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 332 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 333 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 334 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 335 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 336 | } |
sakthipriya | 0:7b4c00e3912f | 337 | |
sakthipriya | 0:7b4c00e3912f | 338 | break; |
sakthipriya | 0:7b4c00e3912f | 339 | case 6:printf("P_BCN_INIT\n"); |
sakthipriya | 0:7b4c00e3912f | 340 | //FCTN_BCN_INIT |
sakthipriya | 0:7b4c00e3912f | 341 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 342 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 343 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 344 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 345 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 346 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 347 | } |
sakthipriya | 0:7b4c00e3912f | 348 | |
sakthipriya | 0:7b4c00e3912f | 349 | break; |
sakthipriya | 0:7b4c00e3912f | 350 | case 7:printf("P_BCN_MAIN\n"); |
sakthipriya | 0:7b4c00e3912f | 351 | //FCTN_BCN_MAIN |
sakthipriya | 0:7b4c00e3912f | 352 | telemetry_type2[0]=0XB0; |
sakthipriya | 0:7b4c00e3912f | 353 | telemetry_type2[1]=tc_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 354 | telemetry_type2[2]=tm_pac_seq_cnt_tm; |
sakthipriya | 0:7b4c00e3912f | 355 | telemetry_type2[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 356 | for(int i=4;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 357 | telemetry_type2[i]=0X00; |
sakthipriya | 0:7b4c00e3912f | 358 | } |
sakthipriya | 0:7b4c00e3912f | 359 | |
sakthipriya | 0:7b4c00e3912f | 360 | break; |
sakthipriya | 0:7b4c00e3912f | 361 | default:{printf("INVALID TC"); |
sakthipriya | 0:7b4c00e3912f | 362 | //send invalid TC TM |
sakthipriya | 0:7b4c00e3912f | 363 | break;} |
sakthipriya | 0:7b4c00e3912f | 364 | } |
sakthipriya | 0:7b4c00e3912f | 365 | } |
sakthipriya | 0:7b4c00e3912f | 366 | else if((TC_Packet[3]&0xF0)==0x10){ |
sakthipriya | 0:7b4c00e3912f | 367 | printf("PWR_SWCH\n"); |
sakthipriya | 0:7b4c00e3912f | 368 | //P_BAE_SWCH_PWR |
sakthipriya | 0:7b4c00e3912f | 369 | |
sakthipriya | 0:7b4c00e3912f | 370 | } |
sakthipriya | 0:7b4c00e3912f | 371 | else if((TC_Packet[3]&0xF0)==0x20){ |
sakthipriya | 0:7b4c00e3912f | 372 | printf("PWR_Rservice_type\n"); |
sakthipriya | 0:7b4c00e3912f | 373 | //P_BAE_RST_PWR |
sakthipriya | 0:7b4c00e3912f | 374 | |
sakthipriya | 0:7b4c00e3912f | 375 | } |
sakthipriya | 0:7b4c00e3912f | 376 | else if((TC_Packet[3]&0xF0)==0xE0){ |
sakthipriya | 0:7b4c00e3912f | 377 | printf("COMSN_ACS_ALGO\n"); |
sakthipriya | 0:7b4c00e3912f | 378 | //P_BAE_COMSN_ACS_ALGO |
sakthipriya | 0:7b4c00e3912f | 379 | |
sakthipriya | 0:7b4c00e3912f | 380 | uint8_t tmid_spr_tm=0xD0,tc_psc_tm,tm_psc_tm,ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 381 | uint8_t TM_packet[13]; |
sakthipriya | 0:7b4c00e3912f | 382 | TM_packet[0]=tmid_spr_tm; |
sakthipriya | 0:7b4c00e3912f | 383 | TM_packet[1]=tc_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 384 | TM_packet[2]=tm_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 385 | TM_packet[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 386 | for(int i=3;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 387 | TM_packet[i]=func_mngmt_service_tm[i-3]; |
sakthipriya | 0:7b4c00e3912f | 388 | } |
sakthipriya | 0:7b4c00e3912f | 389 | for(int i=11;i<13;i++){ |
sakthipriya | 0:7b4c00e3912f | 390 | TM_packet[i]=crc_tm[i-11]; |
sakthipriya | 0:7b4c00e3912f | 391 | } |
sakthipriya | 0:7b4c00e3912f | 392 | } |
sakthipriya | 0:7b4c00e3912f | 393 | else if((TC_Packet[3]&0xF0)==0xF0){ |
sakthipriya | 0:7b4c00e3912f | 394 | printf("COMSN_ACS_HW\n"); |
sakthipriya | 0:7b4c00e3912f | 395 | //P_BAE_COMSN_ACS_HW |
sakthipriya | 0:7b4c00e3912f | 396 | |
sakthipriya | 0:7b4c00e3912f | 397 | uint8_t tmid_spr_tm=0xD0,tc_psc_tm,tm_psc_tm,ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 398 | uint8_t TM_packet[13]; |
sakthipriya | 0:7b4c00e3912f | 399 | TM_packet[0]=tmid_spr_tm; |
sakthipriya | 0:7b4c00e3912f | 400 | TM_packet[1]=tc_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 401 | TM_packet[2]=tm_psc_tm; |
sakthipriya | 0:7b4c00e3912f | 402 | TM_packet[3]=ackcode_tm; |
sakthipriya | 0:7b4c00e3912f | 403 | for(int i=3;i<11;i++){ |
sakthipriya | 0:7b4c00e3912f | 404 | TM_packet[i]=func_mngmt_service_tm[i-3]; |
sakthipriya | 0:7b4c00e3912f | 405 | } |
sakthipriya | 0:7b4c00e3912f | 406 | for(int i=11;i<13;i++){ |
sakthipriya | 0:7b4c00e3912f | 407 | TM_packet[i]=crc_tm[i-11]; |
sakthipriya | 0:7b4c00e3912f | 408 | } |
sakthipriya | 0:7b4c00e3912f | 409 | } |
sakthipriya | 0:7b4c00e3912f | 410 | else { |
sakthipriya | 0:7b4c00e3912f | 411 | printf("INVALID TC"); |
sakthipriya | 0:7b4c00e3912f | 412 | //Send Invalid TC Telemetry |
sakthipriya | 0:7b4c00e3912f | 413 | } |
sakthipriya | 0:7b4c00e3912f | 414 | } |
sakthipriya | 0:7b4c00e3912f | 415 | else { |
sakthipriya | 0:7b4c00e3912f | 416 | printf("INVALID TC"); |
sakthipriya | 0:7b4c00e3912f | 417 | //Send Invalid TC Telemetry |
sakthipriya | 0:7b4c00e3912f | 418 | } |
sakthipriya | 0:7b4c00e3912f | 419 | break; |
sakthipriya | 0:7b4c00e3912f | 420 | default:{printf("INVALID TC"); |
sakthipriya | 0:7b4c00e3912f | 421 | //send invalid TC TM |
sakthipriya | 0:7b4c00e3912f | 422 | break;} |
sakthipriya | 0:7b4c00e3912f | 423 | } |
sakthipriya | 0:7b4c00e3912f | 424 | |
sakthipriya | 0:7b4c00e3912f | 425 | } |
sakthipriya | 0:7b4c00e3912f | 426 | |
sakthipriya | 0:7b4c00e3912f | 427 | /************************************************************************************************************************************/ |
sakthipriya | 0:7b4c00e3912f | 428 | //FUNCTIONS EXECUTED BY TELECOMMAND |
sakthipriya | 0:7b4c00e3912f | 429 | //MEMORY MANAGEMENT SERVICE |
sakthipriya | 0:7b4c00e3912f | 430 | //PID 0X02 |
sakthipriya | 0:7b4c00e3912f | 431 | |
sakthipriya | 0:7b4c00e3912f | 432 |