working version

Dependencies:   mbed mbed-rtos SimpleDMA FreescaleIAP eeprom

Fork of CDMS_CODE_FM_28JAN2017 by samp Srinivasan

Revision:
356:197c93dc2012
Parent:
354:eb6c863756a8
Child:
357:f3d48d62e00e
--- a/OBSRS.h	Tue Mar 28 08:50:07 2017 +0000
+++ b/OBSRS.h	Sat Feb 10 09:06:26 2018 +0000
@@ -39,6 +39,7 @@
 bool enable_DS = false;
 bool half_buffer = 0;
 bool TM_sent = false;
+bool print_stuff = false;
 //bool session_over = gFLAGS & COM_SESSION_TIMEOUT_FLAG;
 
 uint8_t SID ;
@@ -116,10 +117,37 @@
         }
 }
 
+#define print_PA_temp {\
+    uint8_t pa_temp = 0;\
+    float pa_temp1 = 0;\
+    pa_temp1 = TempInput.read();\
+    pa_temp1 = pa_temp1 * 3.3;\
+    float resistance;\
+    resistance = 24300 * pa_temp1/(3.3 - pa_temp1);\
+    if(pa_temp1 < 1.378) {\
+        pa_temp1 = (3694/log(24.032242*resistance))-273;\
+    }\
+    else{\
+        pa_temp1 = (3365.4/log(7.60573*resistance))-273;\
+    }\
+    gPC.printf("\n%f\n",pa_temp1);\
+    if (pa_temp1 > COM_PA_TMP_HIGH){\
+        PA_HOT = 1;\
+        gPC.puts("PA is measured HOT\r\n");\
+    }\
+    else{\
+        PA_HOT = 0;\
+        /*gPC.puts("PA is measured not HOT\r\n");*/\
+    }\
+}
+
 #define check_PA_temp {\
-/* pending temperature check function*/\
 /*   return 0 or 1*/\
-    PA_HOT=0;\
+    SelectLinec0=0;\
+    SelectLinec1=0;\
+    SelectLinec2=0;\
+    SelectLinec3=1;\
+    wait_ms(0.1);\
 }
 
 
@@ -341,7 +369,7 @@
             new_session =false;\
             /*cout<<"call_sign_sent"<<" ";*/\
             T_frames_sent = T_frames_sent+2;\
-            check_PA_temp;\
+            print_PA_temp;\
             /*cout<<"pa_hot = "<<PA_HOT<<ENDL;*/\
             if(PA_HOT){\
                 enable_ackandcallsign = true;\
@@ -356,8 +384,30 @@
 }
 
 void send_tm_from_SD_card_fun(unsigned char * buffer_112,bool & last_buffer){
-/*    gPC.printf("\n\rsend tm sd called\r\n");*/
     for(counter_buffer_112=0;counter_buffer_112<112;counter_buffer_112++){
+        //if (print_stuff){
+//            if (restart_adf_flag){
+//                gPC.printf("restart_adf_flag");}
+//                if (enable_new_segment){
+//                gPC.printf("enable_new_segment");}
+//                if (enable_call_sign){
+//                gPC.printf("enable_call_sign");}
+//                if (enable_T_frame){
+//                gPC.printf("enable_T_frame");}
+//                if (adf_limit){
+//                gPC.printf("adf_limit");}
+//                if (enable_ackandcallsign){
+//                gPC.printf("enable_ackandcallsign");}
+//                if (last_buffer){
+//                gPC.printf("last_buffer");}
+//                if (enable_EoS){
+//                gPC.printf("enable_EoS");}
+//                if (enable_read_block && (!last_block)){
+//                gPC.printf("enable_read_block && (!last_block)");}
+//                if ((PA_HOT || (gFLAGS & COM_SESSION_TIMEOUT_FLAG) ||(ack_code != 0xA0))&&(!enable_ackandcallsign)&&(!last_buffer)){
+//                gPC.printf("failed");}
+//                print_stuff = false;
+//            }
         if(restart_adf_flag)
             buffer_112[counter_buffer_112] = 0;
         else if(enable_new_segment){                     // starting new segment
@@ -435,12 +485,15 @@
 //                                    cout<<"new segment"<<ENDL;
                                 }
                             }
+                                                        //print_stuff = true;
                             continue;
+                            
                         }
                         else{
-                            check_PA_temp;
+                            print_PA_temp;
 //                            cout<<"pa_hot = "<<PA_HOT<<" ";
                             if(PA_HOT){
+                                            gPC.printf("h1");
                                 enable_T_frame = false;
                                 enable_read_block = false;
                                 enable_ackandcallsign = true;
@@ -509,11 +562,11 @@
                 }
                 create_Ack_andcallsign = false;
                 Base_tm *ack_and_callsign = NULL;
-                Base_tm *ack_head = NULL;
+                //Base_tm *ack_head = NULL;
 //                get_call_sign(ack_and_callsign);
                 get_ack_l234(ack_and_callsign);
                 ack_head = ack_and_callsign;
-                get_ack_l1(ack_and_callsign->next_TM); 
+                get_ack_l1(ack_and_callsign->next_TM);
                 while(ack_and_callsign->next_TM != NULL){
                     ack_and_callsign = ack_and_callsign->next_TM;
                 }
@@ -645,6 +698,7 @@
 
 void execute_OBSRS_TC(Base_tc *tcp){
     current_obsrs_tc = tcp;
+    check_PA_temp;
     flags_init;
     sent_tmfrom_SDcard = true;
     diff_prev = 0;