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:
- 132:d4a4461214ad
- Parent:
- 130:d5b53088270b
- Child:
- 136:8074893cd24e
--- a/COM_MNG_TMTC.h Sat Feb 27 07:12:04 2016 +0000 +++ b/COM_MNG_TMTC.h Mon Feb 29 13:21:40 2016 +0000 @@ -991,55 +991,44 @@ { - uint8_t PL_TM_SIZE; + #if DEBUG printf("Telecommand is for PL\r\n"); #endif - // printf("Informing PL about TC using I2C\r\n"); //interrupt to be sent to the bae + + + if(GETservice_subtype(tc_ptr) == 0xD0 || GETservice_subtype(tc_ptr) == 0xD2 || GETservice_subtype(tc_ptr) == 0xD3) + { + PL_TM_SIZE = TM_LONG_SIZE; + } + else + { + PL_TM_SIZE = TM_SHORT_SIZE; + } + if(GETshort_or_long_tc(tc_ptr) == LONG_TC_CODE) FCTN_I2C_WRITE_PL((char*)tc_ptr->TC_string,TC_LONG_SIZE); else + { FCTN_I2C_WRITE_PL((char*)tc_ptr->TC_string,TC_SHORT_SIZE); - + } while(1) { gLEDG = !gLEDG; t_pl.start(); - if(PYLD_I2C_Int == 1) + if(rcv_isr == 1) { + gPC.printf("read_ack = %d",read_ack); t_pl.stop(); - gPC.printf("i2c_t = %d",t_pl.read_ms()); - if(GETservice_subtype(tc_ptr) == 0xD0 || GETservice_subtype(tc_ptr) == 0xD2 || GETservice_subtype(tc_ptr) == 0xD3) //check which all require short TM - { - FCTN_I2C_READ_PL((char*)tm_pointer->TM_string,TM_LONG_SIZE); - break; - } - else - { - FCTN_I2C_READ_PL((char*)tm_pointer->TM_string,TM_SHORT_SIZE); + //gPC.printf("i2c_t = %d",t_pl.read_ms()); + for(int i = 0;i< PL_TM_SIZE;i++) + tm_pointer->TM_string[i] = PL_I2C_DATA[i]; + rcv_isr = 0; break; - } - } - - } - - - // for(int i;i<2000;i++){if(PYLD_I2C_Int=1)i=2001;}//timeout to be defined - - - //PL should reset the i2c pin - - // received = 1; - // } - // if(received == 1 ) - // { - // printf("Telemetry is received from BAE\r\n"); - // printf("%s", tm_ptr->TM_string); - // received = 0; - // } // similar to BAE functions + } tm_pointer->next_TM = NULL; return tm_ptr; break; }