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