Changes to be made for ATS_Fault logic and ACS_State

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of Japan_BAE_sensorworking_interrupr_reoccuring_copy by Team Fox

Committer:
sakthipriya
Date:
Tue Dec 29 05:14:39 2015 +0000
Revision:
3:07e15677a75c
Parent:
0:7b4c00e3912f
Child:
4:39a4ae8c7ecd
BAE with acs + eps + bcn (conops) + tmtc (without calling actual funtions).; status : working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sakthipriya 0:7b4c00e3912f 1 #include "mbed.h"
sakthipriya 0:7b4c00e3912f 2 #include "TCTM.h"
sakthipriya 3:07e15677a75c 3 #include "crc.h"
sakthipriya 0:7b4c00e3912f 4
sakthipriya 0:7b4c00e3912f 5
sakthipriya 3:07e15677a75c 6 uint8_t* FCTN_BAE_TM_TC (uint8_t* tc)
sakthipriya 0:7b4c00e3912f 7
sakthipriya 3:07e15677a75c 8 {
sakthipriya 3:07e15677a75c 9 uint8_t service_type=(tc[2]&0xF0);
sakthipriya 3:07e15677a75c 10 uint8_t* tm;
sakthipriya 3:07e15677a75c 11 uint16_t crc16;
sakthipriya 3:07e15677a75c 12
sakthipriya 3:07e15677a75c 13
sakthipriya 3:07e15677a75c 14 switch(service_type)
sakthipriya 3:07e15677a75c 15 {
sakthipriya 3:07e15677a75c 16 case 0x60:
sakthipriya 3:07e15677a75c 17 {
sakthipriya 3:07e15677a75c 18 printf("Memory Management Service\r\n");
sakthipriya 3:07e15677a75c 19 uint8_t service_subtype=(tc[2]&0x0F);
sakthipriya 3:07e15677a75c 20
sakthipriya 3:07e15677a75c 21 switch(service_subtype)
sakthipriya 3:07e15677a75c 22 {
sakthipriya 3:07e15677a75c 23 case 0x01:
sakthipriya 3:07e15677a75c 24 {
sakthipriya 3:07e15677a75c 25 printf("Read from Flash\r\n");
sakthipriya 3:07e15677a75c 26 }
sakthipriya 3:07e15677a75c 27 case 0x02:
sakthipriya 3:07e15677a75c 28 {
sakthipriya 3:07e15677a75c 29 printf("Read from RAM\r\n");
sakthipriya 3:07e15677a75c 30 }
sakthipriya 3:07e15677a75c 31 case 0x05:
sakthipriya 3:07e15677a75c 32 {
sakthipriya 3:07e15677a75c 33 printf("Write on Flash\r\n");
sakthipriya 3:07e15677a75c 34 }
sakthipriya 3:07e15677a75c 35 default:
sakthipriya 3:07e15677a75c 36 {
sakthipriya 3:07e15677a75c 37 printf("Invalid TC");
sakthipriya 3:07e15677a75c 38 //ACK_L234_TM
sakthipriya 3:07e15677a75c 39 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 40 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 41 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 42 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 43 {
sakthipriya 3:07e15677a75c 44 tm[i]=0x00;
sakthipriya 0:7b4c00e3912f 45 }
sakthipriya 3:07e15677a75c 46 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 47 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 48 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 49 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 50 {
sakthipriya 3:07e15677a75c 51 tm[i]=0x00;
sakthipriya 0:7b4c00e3912f 52 }
sakthipriya 3:07e15677a75c 53 return tm;
sakthipriya 3:07e15677a75c 54 }
sakthipriya 3:07e15677a75c 55 }
sakthipriya 0:7b4c00e3912f 56 }
sakthipriya 0:7b4c00e3912f 57
sakthipriya 3:07e15677a75c 58 case 0x80:
sakthipriya 3:07e15677a75c 59 {
sakthipriya 3:07e15677a75c 60 printf("Function Management Service\r\n");
sakthipriya 3:07e15677a75c 61 uint8_t service_subtype=(tc[2]&0x0F);
sakthipriya 3:07e15677a75c 62
sakthipriya 3:07e15677a75c 63 switch(service_subtype)
sakthipriya 3:07e15677a75c 64 {
sakthipriya 3:07e15677a75c 65 case 0x01:
sakthipriya 3:07e15677a75c 66 {
sakthipriya 3:07e15677a75c 67 printf("FMS Activated\r\n");
sakthipriya 3:07e15677a75c 68
sakthipriya 3:07e15677a75c 69 uint8_t pid=tc[3];
sakthipriya 3:07e15677a75c 70 switch(pid)
sakthipriya 3:07e15677a75c 71 {
sakthipriya 3:07e15677a75c 72 case 0x01:
sakthipriya 3:07e15677a75c 73 {
sakthipriya 3:07e15677a75c 74 printf("Run P_EPS_INIT\r\n");
sakthipriya 3:07e15677a75c 75 //ACK_L234_TM
sakthipriya 3:07e15677a75c 76 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 77 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 78 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 79 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 80 {
sakthipriya 3:07e15677a75c 81 tm[i]=0x00;
sakthipriya 3:07e15677a75c 82 }
sakthipriya 3:07e15677a75c 83 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 84 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 85 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 86 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 87 {
sakthipriya 3:07e15677a75c 88 tm[i]=0x00;
sakthipriya 3:07e15677a75c 89 }
sakthipriya 3:07e15677a75c 90 return tm;
sakthipriya 3:07e15677a75c 91
sakthipriya 3:07e15677a75c 92 }
sakthipriya 3:07e15677a75c 93 case 0x02:
sakthipriya 3:07e15677a75c 94 {
sakthipriya 3:07e15677a75c 95 printf("Run P_EPS_MAIN\r\n");
sakthipriya 3:07e15677a75c 96 //ACK_L234_TM
sakthipriya 3:07e15677a75c 97 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 98 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 99 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 100 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 101 {
sakthipriya 3:07e15677a75c 102 tm[i]=0x00;
sakthipriya 3:07e15677a75c 103 }
sakthipriya 3:07e15677a75c 104 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 105 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 106 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 107 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 108 {
sakthipriya 3:07e15677a75c 109 tm[i]=0x00;
sakthipriya 3:07e15677a75c 110 }
sakthipriya 3:07e15677a75c 111 return tm;
sakthipriya 3:07e15677a75c 112 }
sakthipriya 3:07e15677a75c 113 case 0x03:
sakthipriya 3:07e15677a75c 114 {
sakthipriya 3:07e15677a75c 115 printf("Run P_ACS_INIT\r\n");
sakthipriya 3:07e15677a75c 116 //ACK_L234_TM
sakthipriya 3:07e15677a75c 117 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 118 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 119 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 120 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 121 {
sakthipriya 3:07e15677a75c 122 tm[i]=0x00;
sakthipriya 3:07e15677a75c 123 }
sakthipriya 3:07e15677a75c 124 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 125 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 126 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 127 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 128 {
sakthipriya 3:07e15677a75c 129 tm[i]=0x00;
sakthipriya 3:07e15677a75c 130 }
sakthipriya 3:07e15677a75c 131 return tm;
sakthipriya 3:07e15677a75c 132 }
sakthipriya 3:07e15677a75c 133 case 0x04:
sakthipriya 3:07e15677a75c 134 {
sakthipriya 3:07e15677a75c 135 printf("Run P_ACS_ACQ_DATA\r\n");
sakthipriya 3:07e15677a75c 136 //ACK_L234_TM
sakthipriya 3:07e15677a75c 137 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 138 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 139 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 140 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 141 {
sakthipriya 3:07e15677a75c 142 tm[i]=0x00;
sakthipriya 3:07e15677a75c 143 }
sakthipriya 3:07e15677a75c 144 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 145 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 146 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 147 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 148 {
sakthipriya 3:07e15677a75c 149 tm[i]=0x00;
sakthipriya 3:07e15677a75c 150 }
sakthipriya 3:07e15677a75c 151 return tm;
sakthipriya 3:07e15677a75c 152 }
sakthipriya 3:07e15677a75c 153 case 0x05:
sakthipriya 3:07e15677a75c 154 {
sakthipriya 3:07e15677a75c 155 printf("Run P_ACS_MAIN\r\n");
sakthipriya 3:07e15677a75c 156 //ACK_L234_TM
sakthipriya 3:07e15677a75c 157 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 158 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 159 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 160 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 161 {
sakthipriya 3:07e15677a75c 162 tm[i]=0x00;
sakthipriya 3:07e15677a75c 163 }
sakthipriya 3:07e15677a75c 164 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 165 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 166 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 167 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 168 {
sakthipriya 3:07e15677a75c 169 tm[i]=0x00;
sakthipriya 3:07e15677a75c 170 }
sakthipriya 3:07e15677a75c 171 return tm;
sakthipriya 3:07e15677a75c 172 }
sakthipriya 3:07e15677a75c 173 case 0x06:
sakthipriya 3:07e15677a75c 174 {
sakthipriya 3:07e15677a75c 175 printf("Run P_BCN_INIT\r\n");
sakthipriya 3:07e15677a75c 176 //ACK_L234_TM
sakthipriya 3:07e15677a75c 177 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 178 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 179 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 180 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 181 {
sakthipriya 3:07e15677a75c 182 tm[i]=0x00;
sakthipriya 3:07e15677a75c 183 }
sakthipriya 3:07e15677a75c 184 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 185 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 186 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 187 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 188 {
sakthipriya 3:07e15677a75c 189 tm[i]=0x00;
sakthipriya 3:07e15677a75c 190 }
sakthipriya 3:07e15677a75c 191 return tm;
sakthipriya 3:07e15677a75c 192 }
sakthipriya 3:07e15677a75c 193 case 0x07:
sakthipriya 3:07e15677a75c 194 {
sakthipriya 3:07e15677a75c 195 printf("Run P_BCN_TX_MAIN\r\n");
sakthipriya 3:07e15677a75c 196 //ACK_L234_TM
sakthipriya 3:07e15677a75c 197 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 198 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 199 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 200 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 201 {
sakthipriya 3:07e15677a75c 202 tm[i]=0x00;
sakthipriya 3:07e15677a75c 203 }
sakthipriya 3:07e15677a75c 204 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 205 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 206 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 207 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 208 {
sakthipriya 3:07e15677a75c 209 tm[i]=0x00;
sakthipriya 3:07e15677a75c 210 }
sakthipriya 3:07e15677a75c 211 return tm;
sakthipriya 3:07e15677a75c 212 }
sakthipriya 3:07e15677a75c 213 case 0x11:
sakthipriya 3:07e15677a75c 214 {
sakthipriya 3:07e15677a75c 215 printf("SW_ON_ACS_ATS1_SW_ENABLE\r\n");
sakthipriya 3:07e15677a75c 216 //ACK_L234_TM
sakthipriya 3:07e15677a75c 217 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 218 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 219 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 220 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 221 {
sakthipriya 3:07e15677a75c 222 tm[i]=0x00;
sakthipriya 3:07e15677a75c 223 }
sakthipriya 3:07e15677a75c 224 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 225 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 226 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 227 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 228 {
sakthipriya 3:07e15677a75c 229 tm[i]=0x00;
sakthipriya 3:07e15677a75c 230 }
sakthipriya 3:07e15677a75c 231 return tm;
sakthipriya 3:07e15677a75c 232 }
sakthipriya 3:07e15677a75c 233 case 0x12:
sakthipriya 3:07e15677a75c 234 {
sakthipriya 3:07e15677a75c 235 printf("SW_ON_ACS_ATS2_SW_ENABLE\r\n");
sakthipriya 3:07e15677a75c 236 //ACK_L234_TM
sakthipriya 3:07e15677a75c 237 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 238 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 239 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 240 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 241 {
sakthipriya 3:07e15677a75c 242 tm[i]=0x00;
sakthipriya 3:07e15677a75c 243 }
sakthipriya 3:07e15677a75c 244 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 245 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 246 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 247 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 248 {
sakthipriya 3:07e15677a75c 249 tm[i]=0x00;
sakthipriya 3:07e15677a75c 250 }
sakthipriya 3:07e15677a75c 251 return tm;
sakthipriya 3:07e15677a75c 252 }
sakthipriya 3:07e15677a75c 253 case 0x13:
sakthipriya 3:07e15677a75c 254 {
sakthipriya 3:07e15677a75c 255 printf("SW_ON_ACS_TR_XY_ENABLE\r\n");
sakthipriya 3:07e15677a75c 256 //ACK_L234_TM
sakthipriya 3:07e15677a75c 257 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 258 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 259 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 260 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 261 {
sakthipriya 3:07e15677a75c 262 tm[i]=0x00;
sakthipriya 3:07e15677a75c 263 }
sakthipriya 3:07e15677a75c 264 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 265 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 266 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 267 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 268 {
sakthipriya 3:07e15677a75c 269 tm[i]=0x00;
sakthipriya 3:07e15677a75c 270 }
sakthipriya 3:07e15677a75c 271 return tm;
sakthipriya 3:07e15677a75c 272 }
sakthipriya 3:07e15677a75c 273 case 0x14:
sakthipriya 3:07e15677a75c 274 {
sakthipriya 3:07e15677a75c 275 printf("SW_ON_ACS_TR_Z_ENABLE\r\n");
sakthipriya 3:07e15677a75c 276 //ACK_L234_TM
sakthipriya 3:07e15677a75c 277 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 278 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 279 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 280 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 281 {
sakthipriya 3:07e15677a75c 282 tm[i]=0x00;
sakthipriya 3:07e15677a75c 283 }
sakthipriya 3:07e15677a75c 284 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 285 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 286 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 287 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 288 {
sakthipriya 3:07e15677a75c 289 tm[i]=0x00;
sakthipriya 3:07e15677a75c 290 }
sakthipriya 3:07e15677a75c 291 return tm;
sakthipriya 3:07e15677a75c 292 }
sakthipriya 3:07e15677a75c 293 case 0x15:
sakthipriya 3:07e15677a75c 294 {
sakthipriya 3:07e15677a75c 295 printf("SW_ON_BCN_TX_SW_ENABLE\r\n");
sakthipriya 3:07e15677a75c 296 //ACK_L234_TM
sakthipriya 3:07e15677a75c 297 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 298 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 299 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 300 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 301 {
sakthipriya 3:07e15677a75c 302 tm[i]=0x00;
sakthipriya 3:07e15677a75c 303 }
sakthipriya 3:07e15677a75c 304 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 305 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 306 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 307 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 308 {
sakthipriya 3:07e15677a75c 309 tm[i]=0x00;
sakthipriya 3:07e15677a75c 310 }
sakthipriya 3:07e15677a75c 311 return tm;
sakthipriya 3:07e15677a75c 312 }
sakthipriya 3:07e15677a75c 313 case 0x21:
sakthipriya 3:07e15677a75c 314 {
sakthipriya 3:07e15677a75c 315 printf("SW_OFF_ACS_ATS1_SW_ENABLE\r\n");
sakthipriya 3:07e15677a75c 316 //ACK_L234_TM
sakthipriya 3:07e15677a75c 317 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 318 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 319 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 320 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 321 {
sakthipriya 3:07e15677a75c 322 tm[i]=0x00;
sakthipriya 3:07e15677a75c 323 }
sakthipriya 3:07e15677a75c 324 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 325 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 326 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 327 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 328 {
sakthipriya 3:07e15677a75c 329 tm[i]=0x00;
sakthipriya 3:07e15677a75c 330 }
sakthipriya 3:07e15677a75c 331 return tm;
sakthipriya 3:07e15677a75c 332 }
sakthipriya 3:07e15677a75c 333 case 0x22:
sakthipriya 3:07e15677a75c 334 {
sakthipriya 3:07e15677a75c 335 printf("SW_OFF_ACS_ATS2_SW_ENABLE\r\n");
sakthipriya 3:07e15677a75c 336 //ACK_L234_TM
sakthipriya 3:07e15677a75c 337 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 338 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 339 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 340 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 341 {
sakthipriya 3:07e15677a75c 342 tm[i]=0x00;
sakthipriya 3:07e15677a75c 343 }
sakthipriya 3:07e15677a75c 344 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 345 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 346 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 347 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 348 {
sakthipriya 3:07e15677a75c 349 tm[i]=0x00;
sakthipriya 3:07e15677a75c 350 }
sakthipriya 3:07e15677a75c 351 return tm;
sakthipriya 3:07e15677a75c 352 }
sakthipriya 3:07e15677a75c 353 case 0x23:
sakthipriya 3:07e15677a75c 354 {
sakthipriya 3:07e15677a75c 355 printf("SW_OFF_ACS_TR_XY_ENABLE\r\n");
sakthipriya 3:07e15677a75c 356 //ACK_L234_TM
sakthipriya 3:07e15677a75c 357 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 358 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 359 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 360 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 361 {
sakthipriya 3:07e15677a75c 362 tm[i]=0x00;
sakthipriya 3:07e15677a75c 363 }
sakthipriya 3:07e15677a75c 364 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 365 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 366 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 367 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 368 {
sakthipriya 3:07e15677a75c 369 tm[i]=0x00;
sakthipriya 3:07e15677a75c 370 }
sakthipriya 3:07e15677a75c 371 return tm;
sakthipriya 3:07e15677a75c 372 }
sakthipriya 3:07e15677a75c 373 case 0x24:
sakthipriya 3:07e15677a75c 374 {
sakthipriya 3:07e15677a75c 375 printf("SW_OFF_ACS_TR_Z_ENABLE\r\n");
sakthipriya 3:07e15677a75c 376 //ACK_L234_TM
sakthipriya 3:07e15677a75c 377 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 378 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 379 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 380 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 381 {
sakthipriya 3:07e15677a75c 382 tm[i]=0x00;
sakthipriya 3:07e15677a75c 383 }
sakthipriya 3:07e15677a75c 384 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 385 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 386 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 387 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 388 {
sakthipriya 3:07e15677a75c 389 tm[i]=0x00;
sakthipriya 3:07e15677a75c 390 }
sakthipriya 3:07e15677a75c 391 return tm;
sakthipriya 3:07e15677a75c 392 }
sakthipriya 3:07e15677a75c 393 case 0x25:
sakthipriya 3:07e15677a75c 394 {
sakthipriya 3:07e15677a75c 395 printf("SW_OFF_BCN_TX_SW_ENABLE\r\n");
sakthipriya 3:07e15677a75c 396 //ACK_L234_TM
sakthipriya 3:07e15677a75c 397 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 398 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 399 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 400 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 401 {
sakthipriya 3:07e15677a75c 402 tm[i]=0x00;
sakthipriya 3:07e15677a75c 403 }
sakthipriya 3:07e15677a75c 404 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 405 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 406 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 407 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 408 {
sakthipriya 3:07e15677a75c 409 tm[i]=0x00;
sakthipriya 3:07e15677a75c 410 }
sakthipriya 3:07e15677a75c 411 return tm;
sakthipriya 3:07e15677a75c 412 }
sakthipriya 3:07e15677a75c 413 case 0x31:
sakthipriya 3:07e15677a75c 414 {
sakthipriya 3:07e15677a75c 415 printf("ACS_ATS_SW_RESET\r\n");
sakthipriya 3:07e15677a75c 416 //ACK_L234_TM
sakthipriya 3:07e15677a75c 417 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 418 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 419 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 420 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 421 {
sakthipriya 3:07e15677a75c 422 tm[i]=0x00;
sakthipriya 3:07e15677a75c 423 }
sakthipriya 3:07e15677a75c 424 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 425 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 426 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 427 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 428 {
sakthipriya 3:07e15677a75c 429 tm[i]=0x00;
sakthipriya 3:07e15677a75c 430 }
sakthipriya 3:07e15677a75c 431 return tm;
sakthipriya 3:07e15677a75c 432 }
sakthipriya 3:07e15677a75c 433 case 0x32:
sakthipriya 3:07e15677a75c 434 {
sakthipriya 3:07e15677a75c 435 printf("BCN_SW_RESET\r\n");
sakthipriya 3:07e15677a75c 436 //ACK_L234_TM
sakthipriya 3:07e15677a75c 437 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 438 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 439 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 440 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 441 {
sakthipriya 3:07e15677a75c 442 tm[i]=0x00;
sakthipriya 3:07e15677a75c 443 }
sakthipriya 3:07e15677a75c 444 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 445 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 446 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 447 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 448 {
sakthipriya 3:07e15677a75c 449 tm[i]=0x00;
sakthipriya 3:07e15677a75c 450 }
sakthipriya 3:07e15677a75c 451 return tm;
sakthipriya 3:07e15677a75c 452 }
sakthipriya 3:07e15677a75c 453 case 0x33:
sakthipriya 3:07e15677a75c 454 {
sakthipriya 3:07e15677a75c 455 printf("BAE_RESET\r\n");
sakthipriya 3:07e15677a75c 456 //ACK_L234_TM
sakthipriya 3:07e15677a75c 457 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 458 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 459 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 460 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 461 {
sakthipriya 3:07e15677a75c 462 tm[i]=0x00;
sakthipriya 3:07e15677a75c 463 }
sakthipriya 3:07e15677a75c 464 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 465 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 466 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 467 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 468 {
sakthipriya 3:07e15677a75c 469 tm[i]=0x00;
sakthipriya 3:07e15677a75c 470 }
sakthipriya 3:07e15677a75c 471 return tm;
sakthipriya 3:07e15677a75c 472 }
sakthipriya 3:07e15677a75c 473 case 0x34:
sakthipriya 3:07e15677a75c 474 {
sakthipriya 3:07e15677a75c 475 printf("CDMS_SW_RESET\r\n");
sakthipriya 3:07e15677a75c 476 //ACK_L234_TM
sakthipriya 3:07e15677a75c 477 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 478 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 479 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 480 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 481 {
sakthipriya 3:07e15677a75c 482 tm[i]=0x00;
sakthipriya 3:07e15677a75c 483 }
sakthipriya 3:07e15677a75c 484 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 485 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 486 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 487 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 488 {
sakthipriya 3:07e15677a75c 489 tm[i]=0x00;
sakthipriya 3:07e15677a75c 490 }
sakthipriya 3:07e15677a75c 491 return tm;
sakthipriya 3:07e15677a75c 492 }
sakthipriya 3:07e15677a75c 493 case 0xE0:
sakthipriya 3:07e15677a75c 494 {
sakthipriya 3:07e15677a75c 495 printf("CMSN_ACS_ALGO\r\n");
sakthipriya 3:07e15677a75c 496 //FMS_TM
sakthipriya 3:07e15677a75c 497 tm[0]=0xF0;
sakthipriya 3:07e15677a75c 498 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 499 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 500 for(uint8_t i=3;i<132;i++)
sakthipriya 3:07e15677a75c 501 {
sakthipriya 3:07e15677a75c 502 tm[i]=0x00;
sakthipriya 3:07e15677a75c 503 }
sakthipriya 3:07e15677a75c 504 crc16 = CRC::crc16_gen(tm,132);
sakthipriya 3:07e15677a75c 505 tm[132] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 506 tm[133] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 507 return tm;
sakthipriya 3:07e15677a75c 508 }
sakthipriya 3:07e15677a75c 509 case 0xE1:
sakthipriya 3:07e15677a75c 510 {
sakthipriya 3:07e15677a75c 511 printf("CMSN_ACS_HW\r\n");
sakthipriya 3:07e15677a75c 512 //FMS_TM
sakthipriya 3:07e15677a75c 513 tm[0]=0xF0;
sakthipriya 3:07e15677a75c 514 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 515 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 516 for(uint8_t i=3;i<132;i++)
sakthipriya 3:07e15677a75c 517 {
sakthipriya 3:07e15677a75c 518 tm[i]=0x00;
sakthipriya 3:07e15677a75c 519 }
sakthipriya 3:07e15677a75c 520 crc16 = CRC::crc16_gen(tm,132);
sakthipriya 3:07e15677a75c 521 tm[132] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 522 tm[133] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 523 return tm;
sakthipriya 3:07e15677a75c 524 }
sakthipriya 3:07e15677a75c 525 case 0xC1:
sakthipriya 3:07e15677a75c 526 {
sakthipriya 3:07e15677a75c 527 printf("Reset HK_Counter\r\n");
sakthipriya 3:07e15677a75c 528 //ACK_L234_TM
sakthipriya 3:07e15677a75c 529 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 530 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 531 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 532 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 533 {
sakthipriya 3:07e15677a75c 534 tm[i]=0x00;
sakthipriya 3:07e15677a75c 535 }
sakthipriya 3:07e15677a75c 536 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 537 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 538 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 539 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 540 {
sakthipriya 3:07e15677a75c 541 tm[i]=0x00;
sakthipriya 3:07e15677a75c 542 }
sakthipriya 3:07e15677a75c 543 return tm;
sakthipriya 3:07e15677a75c 544 }
sakthipriya 3:07e15677a75c 545 default:
sakthipriya 3:07e15677a75c 546 {
sakthipriya 3:07e15677a75c 547 printf("Invalid TC\r\n");
sakthipriya 3:07e15677a75c 548 //ACK_L234_TM
sakthipriya 3:07e15677a75c 549 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 550 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 551 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 552 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 553 {
sakthipriya 3:07e15677a75c 554 tm[i]=0x00;
sakthipriya 3:07e15677a75c 555 }
sakthipriya 3:07e15677a75c 556 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 557 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 558 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 559 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 560 {
sakthipriya 3:07e15677a75c 561 tm[i]=0x00;
sakthipriya 3:07e15677a75c 562 }
sakthipriya 3:07e15677a75c 563 return tm;
sakthipriya 3:07e15677a75c 564 }
sakthipriya 3:07e15677a75c 565 }
sakthipriya 3:07e15677a75c 566
sakthipriya 3:07e15677a75c 567 default:
sakthipriya 3:07e15677a75c 568 {
sakthipriya 3:07e15677a75c 569 printf("Invalid TC\r\n");
sakthipriya 3:07e15677a75c 570 //ACK_L234_TM
sakthipriya 3:07e15677a75c 571 tm[0]=0xB0;
sakthipriya 3:07e15677a75c 572 tm[1]=tc[0];
sakthipriya 3:07e15677a75c 573 tm[2]=ACK_CODE;
sakthipriya 3:07e15677a75c 574 for(uint8_t i=3;i<11;i++)
sakthipriya 3:07e15677a75c 575 {
sakthipriya 3:07e15677a75c 576 tm[i]=0x00;
sakthipriya 3:07e15677a75c 577 }
sakthipriya 3:07e15677a75c 578 crc16 = CRC::crc16_gen(tm,11);
sakthipriya 3:07e15677a75c 579 tm[11] = (uint8_t)((crc16&0xFF00)>>8);
sakthipriya 3:07e15677a75c 580 tm[12] = (uint8_t)(crc16&0x00FF);
sakthipriya 3:07e15677a75c 581 for(uint8_t i=13;i<134;i++)
sakthipriya 3:07e15677a75c 582 {
sakthipriya 3:07e15677a75c 583 tm[i]=0x00;
sakthipriya 3:07e15677a75c 584 }
sakthipriya 3:07e15677a75c 585 return tm;
sakthipriya 3:07e15677a75c 586 }
sakthipriya 3:07e15677a75c 587 }
sakthipriya 3:07e15677a75c 588 }
sakthipriya 3:07e15677a75c 589 }
sakthipriya 3:07e15677a75c 590 }
sakthipriya 3:07e15677a75c 591 }