pl ack in tmtc

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of COM_MNG_TMTC_SIMPLE_pl123 by shubham c

Revision:
126:b7c024b5632d
Parent:
125:a3b95a9c16ef
Child:
130:d5b53088270b
--- 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*/\