Team Fox / Mbed 2 deprecated BAE_QM_MAR9

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of workinQM_5thJan_azad by Team Fox

Revision:
99:2cc5c0c98cb3
Parent:
96:6603fedb6b69
Child:
101:cf1976e16f28
--- a/EPS.cpp	Tue Feb 14 16:18:16 2017 +0000
+++ b/EPS.cpp	Thu Mar 09 07:42:15 2017 +0000
@@ -466,18 +466,17 @@
     SelectLineb1=0;
     SelectLineb2=0;
     SelectLineb3=0;
-    
+    wait_ms(1);
       //collecting data
     for(Iteration=0; Iteration<16; Iteration++)
     {
             actual_data.voltage_actual[Iteration]=VoltageInput.read();
-            //wait_ms(100); //remove
-           /// eps_pc.printf("\n\rthe raw voltage values VOL[%d] = %f",Iteration,actual_data.voltage_actual[Iteration]);
-            wait_ms(2);
+           
             actual_data.current_actual[Iteration]=CurrentInput.read();
-            wait_ms(2);
-            //eps_pc.printf("\n\rthe raw current values CURR[%d] = %f",Iteration,actual_data.current_actual[Iteration]);
-                      
+     //       eps_pc.printf("\n\r  %d %d %d %d", (int)SelectLineb3,(int)SelectLineb2,(int)SelectLineb1,(int)SelectLineb0);
+          eps_pc.printf("\n\rthe raw current values CURR[%d] = %f",Iteration,3.3*CurrentInput.read()/(50*0.025));
+         
+     
             SelectLinea0=!(SelectLinea0);
             if(Iteration%2==1)
                 SelectLinea1=!(SelectLinea1);
@@ -487,10 +486,12 @@
                 SelectLinea3=!(SelectLinea3);
                 int s0,s1,s2,s3;
             s0=SelectLineb0=SelectLinea0;
-            s1=SelectLineb1=SelectLinea2;
+            s1=SelectLineb1=SelectLinea1;
             s2=SelectLineb2=SelectLinea2;
             s3=SelectLineb3=SelectLinea3;
-////            printf("\n\r  %d %d %d %d", s0,s1,s2,s3);
+   //         eps_pc.printf("\n\r  %d %d %d %d", (int)SelectLinea3,(int)SelectLinea2,(int)SelectLinea1,(int)SelectLinea0);
+   //          eps_pc.printf("\n\r  %d %d %d %d", (int)SelectLineb3,(int)SelectLineb2,(int)SelectLineb1,(int)SelectLineb0);
+   ////                    printf("\n\r  %d %d %d %d", s0,s1,s2,s3);
 
     wait_ms(1);
     /*$ wait of 3 milli sec $*/
@@ -506,25 +507,18 @@
     }
         
     for(Iteration=0;Iteration<16;Iteration++){
+        
+        
         if(Iteration<8)// thermistors before in version 2.1 now from12th element but 8-11 are null values only
         {
-            actual_data.current_actual[Iteration]= 1000*(actual_data.current_actual[Iteration]*3.3)/(50*rsens); 
-            // if it gives the better resolution //actual_data.current_actual[Iteration]= 100*(actual_data.current_actual[Iteration]*3.3)/(50*rsens); 
-        
-        }
-        else if(Iteration==8)
-        {
-            actual_data.current_actual[Iteration] = (actual_data.current_actual[Iteration]*3.3*62)/11.0;//Load BUS voltage
+             actual_data.current_actual[Iteration]= (actual_data.current_actual[Iteration]*330)/(50*0.025); 
+
+    
+    //    eps_pc.printf("I[%d],\t\r\n %f",Iteration,actual_data.current_actual[Iteration]);
+           
+      
         }
-        else if(Iteration==9)
-        {
-            actual_data.current_actual[Iteration]= (-90.7*(3.3*actual_data.current_actual[Iteration]))+190.1543;//Temperature
-        }
-        /*1oth and 11th data are NC*/
-        else if(Iteration<12)
-        {
-            actual_data.current_actual[Iteration]= 0;
-        }
+        
         else{ /*earlier loop missing*/
             actual_data.current_actual[Iteration] = (actual_data.current_actual[Iteration]*3.3);
             int resistance;       
@@ -543,11 +537,12 @@
             actual_data.current_actual[Iteration] = actual_data.current_actual[Iteration] - 273.15; /*converting from C to kelvin*/ 
             
             }
-          //  printf("Current[%d]  %f\r\n",Iteration,actual_data.current_actual[Iteration]);
+       //     printf("Current[%d]  %f\r\n",Iteration,actual_data.current_actual[Iteration]);
     }
     
-    //actual_data.BAE_temp_actual=(-90.7*3.3*actual_data.BAE_temp_actual)+190.1543;
-    actual_data.BAE_temp_actual=(-90.7*3.3*BAE_temp_sensor.read())+190.1543;
+
+   // actual_data.BAE_temp_actual=(-90.7*3.3*BAE_temp_sensor.read())+190.1543;
+
     
     //actual_data.Batt_voltage_actual = (Batt_voltage.read()*3.3*5.63) * 10;
     actual_data.Batt_voltage_actual = vcell();
@@ -555,21 +550,30 @@
     for(Iteration=0; Iteration<16; Iteration++){
 
         if(Iteration==1)
-            quant_data.voltage_quant[Iteration] = float_to_uint8(-50,150,actual_data.voltage_actual[Iteration]);//quantiz(tstart,tstep,actual_data.voltage_actual[Iteration]); /*for keeping the record of the temp'*/
+            quant_data.voltage_quant[Iteration] =  50+actual_data.voltage_actual[Iteration];//float_to_uint8(-50,150,actual_data.voltage_actual[Iteration]);//quantiz(tstart,tstep,actual_data.voltage_actual[Iteration]); /*for keeping the record of the temp'*/
         else
             quant_data.voltage_quant[Iteration] = 10*actual_data.voltage_actual[Iteration];
         //quant_data.voltage_quant[Iteration] = float_to_uint8(0.0,25,actual_data.voltage_actual[Iteration]);//quantiz(vstart,vstep,actual_data.voltage_actual[Iteration]);
-        //eps_pc.printf("\n\r quan vol data[%d],\t %d",Iteration,quant_data.voltage_quant[Iteration]);
+    //    eps_pc.printf("\n\r quan vol data[%d],\t %d",Iteration,quant_data.voltage_quant[Iteration]);
         
     }
     for(Iteration=0;Iteration<16;Iteration++){
-        if(Iteration<8)/*consedering 200 mili amp as limit here*/
-            quant_data.current_quant[Iteration] = float_to_uint8(0.0,2640,actual_data.current_actual[Iteration]);//quantiz(cstart,cstep,actual_data.current_actual[Iteration]);
-        else if(Iteration==8)
+      
+         
+         if(Iteration==1)/*consedering 200 mili amp as limit here*/
+           {
+            quant_data.current_quant[Iteration] = actual_data.current_actual[Iteration];
+            //quantiz(cstart,cstep,actual_data.current_actual[Iteration]);
+          //  quant_data.current_quant[Iteration] = float_to_uint8(0.0,2640,actual_data.current_actual[Iteration]);
+      //  eps_pc.printf("\n\r quan curr1 data[%d] = %d ",Iteration,quant_data.current_quant[Iteration] );
+         }
+         else if(Iteration<9)/*consedering 200 mili amp as limit here*/
+           {
             quant_data.current_quant[Iteration] = 10*actual_data.current_actual[Iteration];
-            //quant_data.current_quant[Iteration] = float_to_uint8(0.0,25,actual_data.current_actual[Iteration]);//quantiz(tstart_thermistor,tstep_thermistor,actual_data.current_actual[Iteration]); //the bus voltage inside
-        else if(Iteration==9)
-            quant_data.current_quant[Iteration] = float_to_uint8(-50,150,actual_data.current_actual[Iteration]); /*the temp of board*/
+            //quantiz(cstart,cstep,actual_data.current_actual[Iteration]);
+          //  quant_data.current_quant[Iteration] = float_to_uint8(0.0,2640,actual_data.current_actual[Iteration]);
+    //    eps_pc.printf("\n\r quan curr1 data[%d] = %d ",Iteration,quant_data.current_quant[Iteration] );
+         }
         else if(Iteration>9)/*changed from 25 to 300 what value do we expectt?*/
             quant_data.current_quant[Iteration] = float_to_uint8(-50,100,actual_data.current_actual[Iteration]);    
     
@@ -587,7 +591,7 @@
     /*no need*/// ->> quant_data.Batt_gauge_quant[2]=quantiz(crate_start,crate_step,actual_data.Batt_gauge_actual[2]);
     /*no need*/// ->> quant_data.Batt_gauge_alerts=actual_data.Batt_gauge_actual[3];
     
-    quant_data.BAE_temp_quant= float_to_uint8(-50,150,actual_data.BAE_temp_actual);
+    quant_data.BAE_temp_quant= 5*actual_data.BAE_temp_actual;
     
 ////    for(Iteration=0;Iteration<3;Iteration++){
 ////        quant_data.AngularSpeed_quant[Iteration]=actual_data.AngularSpeed_actual[Iteration];
@@ -803,7 +807,7 @@
     eps_pc.printf("Battery TMP1 in LONG_HK: %d\n\r",LONG_HK_data[1][125]);
     LONG_HK_data[1][126] = quant_data.Batt_temp_quant[1];
     eps_pc.printf("Battery TMP2 in LONG_HK: %d\n\r",LONG_HK_data[1][126]);
-    LONG_HK_data[1][127] = BCN_TMP;
+    LONG_HK_data[1][127] = BCN_TMP+50;
     eps_pc.printf("BCN TMP in LONG_HK: %d\n\r",LONG_HK_data[1][127]);
     LONG_HK_data[1][128] = 0x00;
     LONG_HK_data[1][129] = 0x00;
@@ -868,8 +872,8 @@
         bae_HK_minmax.Batt_SOC_min = (uint8_t)(actual_data.Batt_gauge_actual[1]);
         bae_HK_minmax.Batt_SOC_max = (uint8_t)(actual_data.Batt_gauge_actual[1]);
         
-        bae_HK_minmax.BCN_TEMP_min = BCN_TMP;
-        bae_HK_minmax.BCN_TEMP_max = BCN_TMP;
+        bae_HK_minmax.BCN_TEMP_min = BCN_TMP+50;
+        bae_HK_minmax.BCN_TEMP_max = BCN_TMP+50;
         
         for (int i = 0; i < 3; ++i){    
         bae_HK_minmax.bit_data_acs_mg_min[i] = actual_data.bit_data_acs_mg[i];
@@ -915,8 +919,8 @@
         bae_HK_minmax.Batt_SOC_min = saveMin(bae_HK_minmax.Batt_SOC_min, ((uint8_t)(actual_data.Batt_gauge_actual[1])) );
         bae_HK_minmax.Batt_SOC_max = saveMax(bae_HK_minmax.Batt_SOC_max, ((uint8_t)(actual_data.Batt_gauge_actual[1])) );
         
-        bae_HK_minmax.BCN_TEMP_min = saveMin(bae_HK_minmax.BCN_TEMP_min, BCN_TMP);
-        bae_HK_minmax.BCN_TEMP_max = saveMin(bae_HK_minmax.BCN_TEMP_max, BCN_TMP);
+        bae_HK_minmax.BCN_TEMP_min = saveMin(bae_HK_minmax.BCN_TEMP_min, BCN_TMP+50);
+        bae_HK_minmax.BCN_TEMP_max = saveMax(bae_HK_minmax.BCN_TEMP_max, BCN_TMP+50);
         
         for (int i = 0; i < 3; ++i)
         {
@@ -1448,4 +1452,41 @@
     temp[1]=(float)bit_data*sensitivity;
     ssn2=1;
     
-}
\ No newline at end of file
+}
+void Read_I_B_IN_BCN()
+{
+    float test_current;
+    SelectLineb0=0;
+    SelectLineb1=0;
+    SelectLineb2=1;
+    SelectLineb3=0; 
+    wait_ms(1); 
+    test_current= (CurrentInput.read()*330)/(50*0.025);
+    actual_data.BAE_temp_actual = test_current;
+    eps_pc.printf("\n\r I_B = %f",3.3*CurrentInput.read()/(50*0.025)); 
+} 
+void Read_I_D_IN_COMTX()
+{
+    float test_Dcurrent;
+    SelectLineb0=1;
+    SelectLineb1=0;
+    SelectLineb2=0;
+    SelectLineb3=0; 
+    wait_ms(1); 
+    test_Dcurrent= (CurrentInput.read()*330)/(50*0.025);
+  //  actual_data.BAE_temp_actual = test_current;
+    eps_pc.printf("\n\r I_D = %f",3.3*CurrentInput.read()/(50*0.025)); 
+} 
+
+void Read_V_D_IN_COMTX()
+{
+    float test_Dvoltage;
+    SelectLinea0=0;
+    SelectLinea1=1;
+    SelectLinea2=1;
+    SelectLinea3=0; 
+    wait_ms(1); 
+    test_Dvoltage= (VoltageInput.read()*3.3*62)/11;
+  //  actual_data.BAE_temp_actual = test_current;
+    eps_pc.printf("\n\r V_D = %f",test_Dvoltage); 
+} 
\ No newline at end of file