CDMS_CODE_samp_23SEP_DMA_flag

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of CDMS_CODE_samp_23SEP_DMA by iitm sat

Committer:
chaithanyarss
Date:
Sun Jul 03 11:35:55 2016 +0000
Revision:
216:93505a6f8db7
Parent:
215:570251b23c7b
Child:
218:c63cdba0550f
merging Completed.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chaithanyarss 216:93505a6f8db7 1 #define RESET_CDMS {\
chaithanyarss 216:93505a6f8db7 2 Base_tc *RESET_tc = new Short_tc;\
chaithanyarss 216:93505a6f8db7 3 RESET_tc->next_TC = NULL;\
chaithanyarss 216:93505a6f8db7 4 PUTshort_or_long(RESET_tc,SHORT_TC_CODE);\
chaithanyarss 216:93505a6f8db7 5 PUTcrc_pass(RESET_tc,0x1);\
chaithanyarss 216:93505a6f8db7 6 PUTexec_status(RESET_tc,0);\
chaithanyarss 216:93505a6f8db7 7 RESET_tc->TC_string[0] = 0x01;\
chaithanyarss 216:93505a6f8db7 8 RESET_tc->TC_string[1] = 0x81;\
chaithanyarss 216:93505a6f8db7 9 RESET_tc->TC_string[2] = 0x81;\
chaithanyarss 216:93505a6f8db7 10 RESET_tc->TC_string[3] = 0x38;\
chaithanyarss 216:93505a6f8db7 11 RESET_tc->TC_string[4] = 0;\
chaithanyarss 216:93505a6f8db7 12 RESET_tc->TC_string[5] = 0;\
chaithanyarss 216:93505a6f8db7 13 RESET_tc->TC_string[6] = 0;\
chaithanyarss 216:93505a6f8db7 14 RESET_tc->TC_string[7] = 0;\
chaithanyarss 216:93505a6f8db7 15 RESET_tc->TC_string[8] = 0;\
chaithanyarss 216:93505a6f8db7 16 uint16_t crc16 = crc16_gen(RESET_tc->TC_string, 9);\
chaithanyarss 216:93505a6f8db7 17 RESET_tc->TC_string[9] = (crc16 & 0xFF00)>>8;\
chaithanyarss 216:93505a6f8db7 18 RESET_tc->TC_string[10] = (crc16 & 0x00FF);\
chaithanyarss 216:93505a6f8db7 19 Base_tm *tm_ptr = NULL;\
chaithanyarss 216:93505a6f8db7 20 tm_ptr = FCTN_CDMS_RLY_TMTC(RESET_tc);\
chaithanyarss 216:93505a6f8db7 21 delete RESET_tc;\
chaithanyarss 216:93505a6f8db7 22 /*DELETE THE TM AFTER USE*/\
chaithanyarss 216:93505a6f8db7 23 Base_tm *del_tm = tm_ptr;\
chaithanyarss 216:93505a6f8db7 24 while( del_tm != NULL ){\
chaithanyarss 216:93505a6f8db7 25 Base_tm *temp = del_tm->next_TM;\
chaithanyarss 216:93505a6f8db7 26 delete del_tm;\
chaithanyarss 216:93505a6f8db7 27 del_tm = temp;\
chaithanyarss 216:93505a6f8db7 28 }\
chaithanyarss 216:93505a6f8db7 29 }
chaithanyarss 216:93505a6f8db7 30
chaithanyarss 216:93505a6f8db7 31 #define power_on_bae {\
chaithanyarss 216:93505a6f8db7 32 Base_tc *power_on_BAE = new Short_tc;\
chaithanyarss 216:93505a6f8db7 33 power_on_BAE->next_TC = NULL;\
chaithanyarss 216:93505a6f8db7 34 PUTshort_or_long(power_on_BAE,SHORT_TC_CODE);\
chaithanyarss 216:93505a6f8db7 35 PUTcrc_pass(power_on_BAE,0x1);\
chaithanyarss 216:93505a6f8db7 36 PUTexec_status(power_on_BAE,0);\
chaithanyarss 216:93505a6f8db7 37 power_on_BAE->TC_string[0] = 0x01;\
chaithanyarss 216:93505a6f8db7 38 power_on_BAE->TC_string[1] = BAE_APID_SOURCE;\
chaithanyarss 216:93505a6f8db7 39 power_on_BAE->TC_string[2] = BAE_SERVICE;\
chaithanyarss 216:93505a6f8db7 40 power_on_BAE->TC_string[3] = BAE_POWER_ON_PID;\
chaithanyarss 216:93505a6f8db7 41 power_on_BAE->TC_string[4] = 0;\
chaithanyarss 216:93505a6f8db7 42 power_on_BAE->TC_string[5] = 0;\
chaithanyarss 216:93505a6f8db7 43 power_on_BAE->TC_string[6] = 0;\
chaithanyarss 216:93505a6f8db7 44 power_on_BAE->TC_string[7] = 0;\
chaithanyarss 216:93505a6f8db7 45 power_on_BAE->TC_string[8] = 0;\
chaithanyarss 216:93505a6f8db7 46 uint16_t crc16 = crc16_gen(power_on_BAE->TC_string, 9);\
chaithanyarss 216:93505a6f8db7 47 power_on_BAE->TC_string[9] = (crc16 & 0xFF00)>>8;\
chaithanyarss 216:93505a6f8db7 48 power_on_BAE->TC_string[10] = (crc16 & 0x00FF);\
chaithanyarss 216:93505a6f8db7 49 Base_tm *tm_ptr = NULL;\
chaithanyarss 216:93505a6f8db7 50 tm_ptr = FCTN_CDMS_RLY_TMTC(power_on_BAE);\
chaithanyarss 216:93505a6f8db7 51 delete power_on_BAE;\
chaithanyarss 216:93505a6f8db7 52 /*DELETE THE TM AFTER USE*/\
chaithanyarss 216:93505a6f8db7 53 Base_tm *del_tm = tm_ptr;\
chaithanyarss 216:93505a6f8db7 54 int overCount = 0;\
chaithanyarss 216:93505a6f8db7 55 while( del_tm != NULL ){\
chaithanyarss 216:93505a6f8db7 56 if( (overCount < TM_OVERFLOW_CONSTANT) ){\
chaithanyarss 216:93505a6f8db7 57 Base_tm *temp = del_tm->next_TM;\
chaithanyarss 216:93505a6f8db7 58 delete del_tm;\
chaithanyarss 216:93505a6f8db7 59 del_tm = temp;\
chaithanyarss 216:93505a6f8db7 60 ++overCount;\
chaithanyarss 216:93505a6f8db7 61 }\
chaithanyarss 216:93505a6f8db7 62 else{\
chaithanyarss 216:93505a6f8db7 63 RESET_CDMS;\
chaithanyarss 216:93505a6f8db7 64 break;\
chaithanyarss 216:93505a6f8db7 65 }\
chaithanyarss 216:93505a6f8db7 66 }\
chaithanyarss 216:93505a6f8db7 67 }
chaithanyarss 216:93505a6f8db7 68
chaithanyarss 216:93505a6f8db7 69 #define resume_bcn {\
chaithanyarss 216:93505a6f8db7 70 Base_tc *beacon_tc = new Long_tc;\
chaithanyarss 216:93505a6f8db7 71 beacon_tc->next_TC = NULL;\
chaithanyarss 216:93505a6f8db7 72 PUTshort_or_long(beacon_tc,LONG_TC_CODE);\
chaithanyarss 216:93505a6f8db7 73 PUTcrc_pass(beacon_tc,0x1);\
chaithanyarss 216:93505a6f8db7 74 PUTexec_status(beacon_tc,0);\
chaithanyarss 216:93505a6f8db7 75 beacon_tc->TC_string[0] = 0x01;\
chaithanyarss 216:93505a6f8db7 76 beacon_tc->TC_string[1] = BCN_APID_SOURCE;\
chaithanyarss 216:93505a6f8db7 77 beacon_tc->TC_string[2] = BCN_SERVICE;\
chaithanyarss 216:93505a6f8db7 78 beacon_tc->TC_string[3] = 0xE2;\
chaithanyarss 216:93505a6f8db7 79 beacon_tc->TC_string[4] = 0x00;\
chaithanyarss 216:93505a6f8db7 80 beacon_tc->TC_string[5] = 0;\
chaithanyarss 216:93505a6f8db7 81 beacon_tc->TC_string[6] = 0;\
chaithanyarss 216:93505a6f8db7 82 beacon_tc->TC_string[7] = 0;\
chaithanyarss 216:93505a6f8db7 83 beacon_tc->TC_string[8] = 0;\
chaithanyarss 216:93505a6f8db7 84 uint16_t crc16 = crc16_gen(beacon_tc->TC_string, 9);\
chaithanyarss 216:93505a6f8db7 85 beacon_tc->TC_string[9] = (crc16 & 0xFF00)>>8;\
chaithanyarss 216:93505a6f8db7 86 beacon_tc->TC_string[10] = (crc16 & 0x00FF);\
chaithanyarss 216:93505a6f8db7 87 for(int i = 11; i < 135; i++){\
chaithanyarss 216:93505a6f8db7 88 beacon_tc->TC_string[i] = 0;\
chaithanyarss 216:93505a6f8db7 89 }\
chaithanyarss 216:93505a6f8db7 90 Base_tm *tm_ptr = NULL;\
chaithanyarss 216:93505a6f8db7 91 tm_ptr = FCTN_CDMS_RLY_TMTC(beacon_tc);\
chaithanyarss 216:93505a6f8db7 92 delete beacon_tc;\
chaithanyarss 216:93505a6f8db7 93 /*DELETE THE TM AFTER USE*/\
chaithanyarss 216:93505a6f8db7 94 Base_tm *del_tm = tm_ptr;\
chaithanyarss 216:93505a6f8db7 95 int overCount = 0;\
chaithanyarss 216:93505a6f8db7 96 while( del_tm != NULL ){\
chaithanyarss 216:93505a6f8db7 97 if( (overCount < TM_OVERFLOW_CONSTANT) ){\
chaithanyarss 216:93505a6f8db7 98 Base_tm *temp = del_tm->next_TM;\
chaithanyarss 216:93505a6f8db7 99 delete del_tm;\
chaithanyarss 216:93505a6f8db7 100 del_tm = temp;\
chaithanyarss 216:93505a6f8db7 101 ++overCount;\
chaithanyarss 216:93505a6f8db7 102 }\
chaithanyarss 216:93505a6f8db7 103 else{\
chaithanyarss 216:93505a6f8db7 104 RESET_CDMS;\
chaithanyarss 216:93505a6f8db7 105 break;\
chaithanyarss 216:93505a6f8db7 106 }\
chaithanyarss 216:93505a6f8db7 107 }\
chaithanyarss 216:93505a6f8db7 108 }
chaithanyarss 216:93505a6f8db7 109
shreeshas95 4:104dd82c99b8 110 #define COM_POWER_OFF_TX {\
aniruddhv 12:ffdb29353058 111 /*gPC.puts("Inside COM_POWER_OFF_TX\r\n");*/\
chaithanyarss 216:93505a6f8db7 112 COM_TX_CNTRL = 0;\
shreeshas95 4:104dd82c99b8 113 RX1M.attach(&rx_read, Serial::RxIrq);\
shreeshas95 4:104dd82c99b8 114 gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);\
chaithanyarss 216:93505a6f8db7 115 RF_SW_CNTRL_BCN = 1;\
chaithanyarss 216:93505a6f8db7 116 Thread::wait(25);\
chaithanyarss 216:93505a6f8db7 117 RF_SW_CNTRL_BCN = 0;\
chaithanyarss 216:93505a6f8db7 118 gFLAGS = gFLAGS | RF_SW_STATUS_FLAG;\
chaithanyarss 216:93505a6f8db7 119 if( gFLAGS & COM_AUTO_POWER_OFF_BAE_FLAG ){\
chaithanyarss 216:93505a6f8db7 120 power_on_bae;\
chaithanyarss 216:93505a6f8db7 121 gFLAGS = gFLAGS | BAE_SW_EN_FLAG;\
chaithanyarss 216:93505a6f8db7 122 gFLAGS & (~COM_AUTO_POWER_OFF_BAE_FLAG);\
chaithanyarss 216:93505a6f8db7 123 resume_bcn;\
chaithanyarss 216:93505a6f8db7 124 }\
chaithanyarss 216:93505a6f8db7 125 else{\
chaithanyarss 216:93505a6f8db7 126 if( gFLAGS & BAE_SW_EN_FLAG ){\
chaithanyarss 216:93505a6f8db7 127 resume_bcn;\
chaithanyarss 216:93505a6f8db7 128 }\
chaithanyarss 216:93505a6f8db7 129 }\
shreeshas95 4:104dd82c99b8 130 gFLAGS = gFLAGS & (~COM_PA_HOT_FLAG);\
chaithanyarss 216:93505a6f8db7 131 gFLAGS = gFLAGS & (~COM_PA_OC_FLAG);\
shreeshas95 4:104dd82c99b8 132 gCOM_PA_COOLING_TIMEOUT.detach();\
shreeshas95 4:104dd82c99b8 133 gFLAGS = gFLAGS & (~COM_TX_FLAG);\
chaithanyarss 216:93505a6f8db7 134 gFLAGS = gFLAGS & (~COM_SESSION_TIMEOUT_FLAG);\
chaithanyarss 216:93505a6f8db7 135 /*gPC.puts("completed com_power_off tx\r\n");*/\
shreeshas95 4:104dd82c99b8 136 }