CDMS_CODE_samp_23SEP_DMA_flag
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE_samp_23SEP_DMA by
Diff: COM_MNG_TMTC.h
- Revision:
- 126:b7c024b5632d
- Parent:
- 125:a3b95a9c16ef
- Child:
- 130:d5b53088270b
diff -r a3b95a9c16ef -r b7c024b5632d COM_MNG_TMTC.h --- a/COM_MNG_TMTC.h Mon Feb 08 14:24:08 2016 +0000 +++ b/COM_MNG_TMTC.h Wed Feb 10 17:01:26 2016 +0000 @@ -13,8 +13,9 @@ //#include "Flash.h" #include "cdms_rtc.h" -DigitalIn tm_status_4m_slv(PIN39); //I2C interrupt to CDMS from BAE -//DigitalIn tm_status_4m_pl(PIN61); //I2C interrupt to CDMS from PL +//defined in definations and globals, need to mapped with the final ones. +//DigitalIn tm_status_4m_slv(PIN39); //I2C interrupt to CDMS from BAE +//DigitalIn tm_status_4m_pl(PIN61); //I2C interrupt to CDMS from PL uint8_t received = 0; uint16_t mid1; @@ -397,7 +398,7 @@ // CDMS TEAM CODE START inline Base_tm* FCTN_CDMS_RLY_TMTC(Base_tc *tc_ptr){ - uint8_t ACKCODE = 0x00; + uint8_t ACKCODE = 0xB0; //printf("\rTC execution in progress\r\n"); Base_tm *tm_pointer = new Long_tm; Base_tm *tm_ptr = tm_pointer; @@ -408,54 +409,54 @@ { //printf("Telecommand is for BAE\r\n"); //printf("Sending TC to BAE...\r\n"); //interrupt to be sent to the bae - FCTN_I2C_WRITE((char*)tc_ptr->TC_string); - while(1) - { - wait(1); //TimeOut instead of wait - if(tm_status_4m_slv == 1) - { - //printf("receiving...\r\n"); - FCTN_I2C_READ((char*)tm_pointer->TM_string,134); - //printf("%s", tm_pointer->TM_string); - received+=1; - tm_pointer = tm_pointer->next_TM; - break; //only for testing purpose - } - else - { - break; - } - } - if(received >= 1 ) - { - //printf("Telemetry is received from BAE\r\n"); - Base_tm *tm_print = tm_ptr; - for(uint8_t i=0;i<received;i++) - { - //printf("%s", tm_print->TM_string); - tm_print = tm_print->next_TM; //for check - } - received = 0; + //FCTN_I2C_WRITE((char*)tc_ptr->TC_string); +// while(1) +// { +// wait(1); //TimeOut instead of wait +// if(tm_status_4m_slv == 1) +// { +// //printf("receiving...\r\n"); +// FCTN_I2C_READ((char*)tm_pointer->TM_string,134); +// //printf("%s", tm_pointer->TM_string); +// received+=1; +// tm_pointer = tm_pointer->next_TM; +// break; //only for testing purpose +// } +// else +// { +// break; +// } +// } +// if(received >= 1 ) +// { +// //printf("Telemetry is received from BAE\r\n"); +// Base_tm *tm_print = tm_ptr; +// for(uint8_t i=0;i<received;i++) +// { +// //printf("%s", tm_print->TM_string); +// tm_print = tm_print->next_TM; //for check +// } +// received = 0; +// tm_pointer->next_TM = NULL; return tm_ptr; +// } +// else +// { +// //printf("Telemetry is not received from BAE\r\n"); +// //tm_pointer = new Short_tm; +// tm_pointer->TM_string[0] = 0xB0; +// tm_pointer->TM_string[1] = GETpacket_seq_count(tc_ptr); +// tm_pointer->TM_string[2] = 0x01; +// tm_pointer->TM_string[3] = ACKCODE; //ackcode to be decided +// tm_pointer->TM_string[4] = 0x01; +// for(uint8_t i=0;i<6;i++) +// { +// tm_pointer->TM_string[i+5] = 0; +// } +// crc16 = crc16_gen(tm_ptr->TM_string,11); +// tm_pointer->TM_string[11] = (uint8_t)((crc16&0xFF00)>>8); +// tm_pointer->TM_string[12] = (uint8_t)(crc16&0x00FF); tm_pointer->next_TM = NULL; return tm_ptr; - } - else - { - //printf("Telemetry is not received from BAE\r\n"); - //tm_pointer = new Short_tm; - tm_pointer->TM_string[0] = 0xB0; - tm_pointer->TM_string[1] = GETpacket_seq_count(tc_ptr); - tm_pointer->TM_string[2] = 0x01; - tm_pointer->TM_string[3] = ACKCODE; //ackcode to be decided - tm_pointer->TM_string[4] = 0x01; - for(uint8_t i=0;i<6;i++) - { - tm_pointer->TM_string[i+5] = 0; - } - crc16 = crc16_gen(tm_ptr->TM_string,11); - tm_pointer->TM_string[11] = (uint8_t)((crc16&0xFF00)>>8); - tm_pointer->TM_string[12] = (uint8_t)(crc16&0x00FF); - tm_pointer->next_TM = NULL; return tm_ptr; - } +// } break; } case 2: @@ -988,6 +989,9 @@ } case 3: { + + + //printf("Telecommand is for PL\r\n"); // printf("Informing PL about TC using I2C\r\n"); //interrupt to be sent to the bae // FCTN_I2C_WRITE((char*)tc_ptr->TC_string); @@ -1411,9 +1415,7 @@ }\ /*SEND call sign, ACK_L1, NON OBSRS TM TO GS*/\ snd_tm.head_pointer(tm_ptr_head);\ - gPC.puts("enter_adf\r\n");\ transmit_adf;\ - gPC.puts("exit_adf\r\n");\ /*DELETE THE TM AFTER USE*/\ tm_ptr = tm_ptr_head;\ overflowCountExecute = 0;\ @@ -1439,9 +1441,7 @@ /*execute_obsrs(current_TC, put_tm_here)*/\ /*read_TC(current_TC);*/\ execute_OBSRS_TC(current_TC);\ - gPC.puts("en_adf");\ transmit_adf;\ - gPC.puts("ex_adf");\ uint8_t tempExec = TC_STATE_SUCCESSFULLY_EXECUTED;\ PUTexec_status(current_TC, tempExec);\ /*PENDING: ABORT ON NACK CHECK, gMASTER_STATE VERIFICATION WITH SD CARD, session timeout, last executed ack l234*/\