To fix the hang problem
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE by
Diff: COM_MNG_TMTC.h
- Revision:
- 116:8f431a8bbe82
- Parent:
- 98:fd99ddc0e0a1
--- a/COM_MNG_TMTC.h Fri Feb 05 18:29:16 2016 +0000 +++ b/COM_MNG_TMTC.h Sat Feb 06 10:27:11 2016 +0000 @@ -221,78 +221,7 @@ @return: none */ /*tm_ptr is the next_TM of a linked list, and should have the value NULL, i.e. tm_ptr should be the next_TM pointer of thte last node */ -#define get_ack_l1( tm_ptr ){\ - Base_tc *current_TC = gHEAD_NODE_TCL;\ - Base_tm *l1_ack = new Short_tm;\ - /*APPEND TO THE tm_ptr HERE*/\ - tm_ptr = l1_ack;\ - fill_l1_ack(l1_ack);\ - int TC_count = 0;\ - int overflowCountL1 = 0;\ - while(current_TC != NULL){\ - if( overflowCountL1 < TCL_OVERFLOW_CONSTANT ){\ - /*IF CRC PASS*/\ - if( (GETcrc_pass(current_TC) == 1) ){\ - if(TC_count > 4){\ - /*PENDING: FILL TC_EXEC_CODE, APPEND CRC TO THE TM*/\ - put_crc_l1_ack( l1_ack );\ - /*extend the TM linked list*/\ - TC_count = 0;\ - l1_ack->next_TM = new Short_tm;\ - l1_ack = l1_ack->next_TM;\ - fill_l1_ack(l1_ack);\ - }\ - /*PSC starts from 7th byte*/\ - l1_ack->TM_string[6+TC_count] = GETpacket_seq_count(current_TC);\ - /*TC exec status*/\ - switch(TC_count){\ - case 0:\ - l1_ack->TM_string[3] = (GETexec_status(current_TC)) & 0x0F;\ - break;\ - case 1:\ - l1_ack->TM_string[4] = (GETexec_status(current_TC) << 4) & 0xF0;\ - break;\ - case 2:\ - l1_ack->TM_string[4] |= (GETexec_status(current_TC)) & 0x0F;\ - break;\ - case 3:\ - l1_ack->TM_string[5] = (GETexec_status(current_TC) << 4) & 0xF0;\ - break;\ - case 4:\ - l1_ack->TM_string[5] |= (GETexec_status(current_TC)) & 0x0F;\ - }\ - ++TC_count;\ - }\ - current_TC = current_TC->next_TC;\ - ++overflowCountL1;\ - }\ - else{\ - /*PENDING: RESET CDMS*/\ - break;\ - }\ - }\ - /*FILL UP THE REMAINING FIELDS WITH 0x00 as PSC, AND 0xF as tc exec status*/\ - if( (TC_count < 5) && (TC_count != 0) ){\ - while(TC_count < 5){\ - l1_ack->TM_string[6+TC_count] = 0x00;\ - switch(TC_count){\ - case 1:\ - l1_ack->TM_string[4] = 0xF0;\ - break;\ - case 2:\ - l1_ack->TM_string[4] |= 0x0F;\ - break;\ - case 3:\ - l1_ack->TM_string[5] = 0xF0;\ - break;\ - case 4:\ - l1_ack->TM_string[5] |= 0x0F;\ - }\ - ++TC_count;\ - }\ - }\ - put_crc_l1_ack(l1_ack);\ -} + /*tm_ptr is the next_TM of a linked list, and should have the value NULL, i.e. tm_ptr should be the next_TM pointer of thte last node */ #define get_tc_list(tm_ptr, thePSC){\ @@ -1162,18 +1091,7 @@ } /*tm_ptr is the next_TM of a linked list, and should have the value NULL, i.e. tm_ptr should be the next_TM pointer of thte last node */ -#define get_call_sign(tm_ptr) {\ - Base_tm* call_sign_tm = new Short_tm;\ - call_sign_tm->next_TM = NULL;\ - tm_ptr = call_sign_tm;\ - uint8_t temp8 = TMID_CALL_SIGN;\ - PUTtmid(call_sign_tm->fields, temp8);\ - temp8 = SHORT_TM_CODE;\ - PUTshort_or_long_tm(call_sign_tm->fields, temp8);\ - for( int i = 0 ; i < TM_SHORT_SIZE ; ++i ){\ - call_sign_tm->TM_string[i] = gCALL_SIGN_STRING[i];\ - }\ -} + #define EXECUTE_OBOSC_ONLY {\ int reset_flag = 0;\