To fix the hang problem

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of CDMS_CODE by shubham c

Revision:
155:ca7365c03fd7
Parent:
144:4c20fcc105ce
Child:
160:ef280e6dda44
--- a/COM_POWER_OFF_TX.h	Fri Apr 01 19:57:02 2016 +0000
+++ b/COM_POWER_OFF_TX.h	Mon Apr 11 12:10:59 2016 +0000
@@ -1,3 +1,24 @@
+#define RESET_CDMS {\
+    Base_tc *RESET_tc = new Short_tc;\
+    RESET_tc->next_TC = NULL;\
+    PUTshort_or_long(RESET_tc,SHORT_TC_CODE);\
+    PUTcrc_pass(RESET_tc,0x1);\
+    PUTexec_status(RESET_tc,0);\
+    RESET_tc->TC_string[0] = 0x01;\
+    RESET_tc->TC_string[1] = 0x81;\
+    RESET_tc->TC_string[2] = 0x81;\
+    RESET_tc->TC_string[3] = 0x38;\
+    RESET_tc->TC_string[4] = 0;\
+    RESET_tc->TC_string[5] = 0;\
+    RESET_tc->TC_string[6] = 0;\
+    RESET_tc->TC_string[7] = 0;\
+    RESET_tc->TC_string[8] = 0;\
+    uint16_t crc16 = crc16_gen(RESET_tc->TC_string, 9);\
+    RESET_tc->TC_string[9]  = (crc16 & 0xFF00)>>8;\
+    RESET_tc->TC_string[10] = (crc16 & 0x00FF);\
+    FCTN_CDMS_RLY_TMTC(RESET_tc);\
+}
+
 #define power_on_bae {\
     Base_tc *power_on_BAE = new Short_tc;\
     power_on_BAE->next_TC = NULL;\
@@ -29,7 +50,7 @@
             ++overCount;\
         }\
         else{\
-            /*PENDING: RESET CDMS: MEMORY LEAK FOUND*/\
+            RESET_CDMS;\
             break;\
         }\
     }\
@@ -59,8 +80,7 @@
 
 #define COM_POWER_OFF_TX {\
     /*gPC.puts("Inside COM_POWER_OFF_TX\r\n");*/\
-    /*PENDING: POWER OFF TRANSMITTER*/\
-    /*power_on_com_tx_pin = 0;*/\
+    COM_TX_CNTRL = 0;\
     RX1M.attach(&rx_read, Serial::RxIrq);\
     gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);\
     RF_SW_CNTRL_BCN = 1;\