CDMS code for testing sbc

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of CDMS_CODE by shubham c

Revision:
171:31bdf83591a1
Parent:
170:286ef9dad36a
Child:
172:c508bbf7e89a
--- a/COM_MNG_TMTC.h	Tue Apr 19 23:00:31 2016 +0000
+++ b/COM_MNG_TMTC.h	Wed Apr 20 12:58:58 2016 +0000
@@ -783,7 +783,7 @@
             #if DEBUG
             printf("Telecommand is for PL\r\n");
             #endif
-
+            received = 0;
 
             if(GETservice_subtype(tc_ptr) == 0xD0 || GETservice_subtype(tc_ptr) == 0xD2 || GETservice_subtype(tc_ptr) == 0xD3)
             {
@@ -803,14 +803,38 @@
             
             while(1)
             {
+                wait(1);
                 if(rcv_isr == 1)
                 {
                     //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];
+                        received++;
                         rcv_isr = 0; 
                         break;
                 }
+                else
+                {
+                    gPC.printf("\n\rData received from PL \n");
+                    break;
+                    }
+            }
+            if(received < 1 )
+            {
+                //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] = 0x00;
+                tm_pointer->TM_string[3] = 0x00; //ackcode to be decided
+                tm_pointer->TM_string[4] = 0x00;
+                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;
@@ -1213,7 +1237,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;\
+                            /*transmit_adf;*/\
                             gPC.puts("exit_adf\r\n");\ 
                             /*DELETE THE TM AFTER USE*/\
                             tm_ptr = tm_ptr_head;\
@@ -1240,7 +1264,9 @@
                             /*execute_obsrs(current_TC, put_tm_here)*/\
                             /*read_TC(current_TC);*/\
                             execute_OBSRS_TC(current_TC);\
-                            transmit_adf;\
+                            gPC.puts("enter_adf\r\n");\
+                            /*transmit_adf;*/\
+                            gPC.puts("exit_adf\r\n");\
                             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*/\