Team Fox / Mbed 2 deprecated BAE_QM_MAR9

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of workinQM_5thJan_azad by Team Fox

Revision:
101:cf1976e16f28
Parent:
99:2cc5c0c98cb3
diff -r af43bc82d3eb -r cf1976e16f28 EPS.cpp
--- a/EPS.cpp	Thu Mar 09 08:08:10 2017 +0000
+++ b/EPS.cpp	Tue Mar 28 08:48:42 2017 +0000
@@ -43,7 +43,7 @@
 extern uint8_t bb_mms[3];
 extern uint8_t singularity_flag_mms;
 extern uint8_t B_SCZ_ANGLE;
-
+extern uint16_t float_to_uint16(float min,float max,float val);
 
 //bcn
 extern uint8_t BCN_SPND_TX;
@@ -64,7 +64,7 @@
 extern uint8_t BAE_STANDBY;
 extern uint16_t BAE_I2C_COUNTER;
 extern void RETURN_UPTIME(float time, uint8_t *day,uint8_t *hour,uint8_t *min);
-
+extern uint8_t BAE_MNG_I2C_STATUS;
 //eps
 extern uint8_t ACS_INIT_STATUS;
 extern uint16_t EPS_MAIN_COUNTER;
@@ -235,7 +235,7 @@
         
         timer_soc.stop();
         
-        actual_data.Batt_voltage_actual = Batt_voltage.read()*3.3; //1 corresponds to 3.3 scaling factor
+        actual_data.Batt_voltage_actual = Batt_voltage.read()*3.3*62/11; //1 corresponds to 3.3 scaling factor
         FCTN_EPS_POWERMODE(actual_data.Batt_gauge_actual[1]);
         eps_pc.printf("Power Level: %d\n\r", actual_data.power_mode);
         EPS_BATTERY_GAUGE_STATUS = 1;               //set EPS_BATTERY_GAUGE_STATUS
@@ -560,16 +560,30 @@
     for(Iteration=0;Iteration<16;Iteration++){
       
          
-         if(Iteration==1)/*consedering 200 mili amp as limit here*/
+         if(Iteration==3)/*consedering 200 mili amp as limit here*/
+           {
+            quant_data.current_quant[Iteration] = 10*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==4)/*consedering 200 mili amp as limit here*/
            {
-            quant_data.current_quant[Iteration] = actual_data.current_actual[Iteration];
+            quant_data.current_quant[Iteration] = 10*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==6)/*consedering 200 mili amp as limit here*/
+           {
+            quant_data.current_quant[Iteration] = 10*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] = 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] );
@@ -581,7 +595,8 @@
     }       
     for(Iteration=0;Iteration<2;Iteration++){
         
-        quant_data.Batt_temp_quant[Iteration] = float_to_uint8(-50,150,actual_data.Batt_temp_actual[Iteration]);//quantiz(tstart,tstep,actual_data.Batt_temp_actual[Iteration]);
+      //  quant_data.Batt_temp_quant[Iteration] = float_to_uint8(-50,150,actual_data.Batt_temp_actual[Iteration]);//quantiz(tstart,tstep,actual_data.Batt_temp_actual[Iteration]);
+      quant_data.Batt_temp_quant[Iteration] = actual_data.Batt_temp_actual[Iteration] +50;
     }
     
     //to be changed no need to quantized
@@ -678,11 +693,11 @@
                                                              
     //BAE RAM PARAMETER
     LONG_HK_data[1][29] = BAE_INIT_STATUS;
-    LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) | 0;//change it================================
+    LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) |BAE_MNG_I2C_STATUS;//change it================================
     LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) | BCN_INIT_STATUS; 
     LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) | BCN_TX_MAIN_STATUS;
     LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<3) | BCN_TX_STATUS;
-    LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<3) | ACS_INIT_STATUS;
+    LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) | ACS_INIT_STATUS;
                                                                 
     LONG_HK_data[1][30] = ACS_DATA_ACQ_STATUS;
     LONG_HK_data[1][30] = (LONG_HK_data[1][30]<<1) | ACS_MAIN_STATUS;
@@ -712,14 +727,14 @@
     LONG_HK_data[1][40] = actual_data.power_mode;
     LONG_HK_data[1][41] = HTR_CYCLE_COUNTER;//new to : implement
                                                                 
-    LONG_HK_data[1][42] = BAE_I2C_COUNTER;
-    LONG_HK_data[1][43] = BAE_I2C_COUNTER>>8;
-    LONG_HK_data[1][44] = ACS_MAIN_COUNTER;
-    LONG_HK_data[1][45] = ACS_MAIN_COUNTER>>8;
-    LONG_HK_data[1][46] = BCN_TX_MAIN_COUNTER;
-    LONG_HK_data[1][47] = BCN_TX_MAIN_COUNTER>>8;
-    LONG_HK_data[1][48] = EPS_MAIN_COUNTER;
-    LONG_HK_data[1][49] = EPS_MAIN_COUNTER>>8;
+    LONG_HK_data[1][43] = BAE_I2C_COUNTER;
+    LONG_HK_data[1][42] = BAE_I2C_COUNTER>>8;
+    LONG_HK_data[1][45] = ACS_MAIN_COUNTER;
+    LONG_HK_data[1][44] = ACS_MAIN_COUNTER>>8;
+    LONG_HK_data[1][47] = BCN_TX_MAIN_COUNTER;
+    LONG_HK_data[1][46] = BCN_TX_MAIN_COUNTER>>8;
+    LONG_HK_data[1][49] = EPS_MAIN_COUNTER;
+    LONG_HK_data[1][48] = EPS_MAIN_COUNTER>>8;
     
     uint8_t days,hours,mins;
     RETURN_UPTIME(BAE_uptime.read(),&days,&hours,&mins);
@@ -728,9 +743,28 @@
     LONG_HK_data[1][50] = (LONG_HK_data[1][50]) | (hours>>2);
     LONG_HK_data[1][51] = hours;
     LONG_HK_data[1][51] = (LONG_HK_data[1][51]<<6) | mins;
-    
-    
-    LONG_HK_data[1][52] = actual_data.bit_data_acs_mm[0];
+     uint16_t scaled1;
+   scaled1 = float_to_uint16(-1000,1000,actual_data.Bvalue_actual[0]);
+             LONG_HK_data[1][52] = (scaled1>>8); 
+             LONG_HK_data[1][53] = scaled1;
+            scaled1 = float_to_uint16(-1000,1000,actual_data.Bvalue_actual[1]);
+            LONG_HK_data[1][54] = (scaled1>>8); 
+            LONG_HK_data[1][55] = scaled1;
+            scaled1 = float_to_uint16(-1000,1000,actual_data.Bvalue_actual[2]);
+            LONG_HK_data[1][56] = (scaled1>>8); 
+            LONG_HK_data[1][57] = scaled1;
+            scaled1 = float_to_uint16(-5000,5000,actual_data.AngularSpeed_actual[0]);
+            LONG_HK_data[1][58] = (scaled1>>8); 
+            LONG_HK_data[1][59] = scaled1;
+            scaled1 = float_to_uint16(-5000,5000,actual_data.AngularSpeed_actual[1]);
+            LONG_HK_data[1][60] = (scaled1>>8); 
+            LONG_HK_data[1][61] = scaled1;
+            scaled1 = float_to_uint16(-5000,5000,actual_data.AngularSpeed_actual[2]);
+            LONG_HK_data[1][62] = (scaled1>>8); 
+            LONG_HK_data[1][63] = scaled1;
+   
+   /* 
+    LONG_HK_data[1][52] = float_to_uint16(-1000,1000,actual_data.Bvalue_actual[0]);//actual_data.bit_data_acs_mm[0];
     LONG_HK_data[1][53] = actual_data.bit_data_acs_mm[0]>>8;
     LONG_HK_data[1][54] = actual_data.bit_data_acs_mm[1];
     LONG_HK_data[1][55] = actual_data.bit_data_acs_mm[1]>>8;
@@ -743,23 +777,24 @@
     LONG_HK_data[1][61] = actual_data.bit_data_acs_mg[1]>>8;
     LONG_HK_data[1][62] = actual_data.bit_data_acs_mg[2];
     LONG_HK_data[1][63] = actual_data.bit_data_acs_mg[2]>>8;
-                                                                
-    LONG_HK_data[1][64] = (~BCN_TX_OC_FAULT);
-    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | ACS_TR_XY_ENABLE;
-    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | ACS_TR_Z_ENABLE;
-    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_XY_OC_FAULT);
-    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_Z_OC_FAULT);
-    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_XY_FAULT);
-    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~EPS_CHARGER_FAULT);
-    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | EPS_CHARGER_STATUS;
+    */                                                           
+    LONG_HK_data[1][64] = (~BCN_TX_OC_FAULT&&0x01);
+    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | ACS_TR_XY_ENABLE&&0x01;
+    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | ACS_TR_Z_ENABLE&&0x01;
+    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_XY_OC_FAULT&&0x01);
+    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_Z_OC_FAULT)&&0x01;
+    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_XY_FAULT&&0x01);
+    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~EPS_CHARGER_FAULT&&0x01);
+    LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | EPS_CHARGER_STATUS&&0x01;
                                                                 
     LONG_HK_data[1][65] = EPS_BATTERY_GAUGE_ALERT;
-    LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~CDMS_OC_FAULT);
-    LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_ATS1_OC_FAULT);
-    LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_ATS2_OC_FAULT);
-    LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_TR_Z_FAULT);
+    LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~CDMS_OC_FAULT&&0x01);
+    LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_ATS1_OC_FAULT&&0x01);
+    LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_ATS2_OC_FAULT&&0x01);
+    LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_TR_Z_FAULT&&0x01);
     LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<3);
     //3 spare
+
                                                                 
     LONG_HK_data[1][66] = ACS_TR_X_PWM;
     LONG_HK_data[1][67] = ACS_TR_Y_PWM;
@@ -802,10 +837,12 @@
     eps_pc.printf("Battery SOC in LONG_HK: %d\n\r",LONG_HK_data[1][124]);
     eps_pc.printf("Battery SOC in eps in float: %f\n\r",soc());
     eps_pc.printf("Battery SOC in eps: %d\n\r",(int)soc());
-    LONG_HK_data[1][125] = quant_data.Batt_temp_quant[0];
+    FCTN_BATT_TEMP_SENSOR_MAIN(actual_data.Batt_temp_actual);  // for debugging
+   
+    LONG_HK_data[1][125] = actual_data.Batt_temp_actual[0]+50;//quant_data.Batt_temp_quant[0];
     //LONG_HK_data[1][125] = actual_data.Batt_temp_actual[0]; //just for debugging
     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];
+    LONG_HK_data[1][126] = actual_data.Batt_temp_actual[1]+50; //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+50;
     eps_pc.printf("BCN TMP in LONG_HK: %d\n\r",LONG_HK_data[1][127]);