Updated EPS code with flowchart v2.3 (CDMS and HW faults)

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of QM_BAE_review_1_EPS_faults by Mohamed Azad

Files at this revision

API Documentation at this revision

Comitter:
lakshya
Date:
Thu Apr 14 09:34:06 2016 +0000
Parent:
13:fb7facaf308b
Child:
15:e09aaaccf134
Commit message:
QM review 1

Changed in this revision

BCN.cpp Show annotated file Show diff for this revision Revisions of this file
TCTM.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/BCN.cpp	Wed Apr 13 21:48:21 2016 +0000
+++ b/BCN.cpp	Thu Apr 14 09:34:06 2016 +0000
@@ -12,7 +12,6 @@
 Timeout rf_sl_timeout;
 Ticker loop;
 
-
 //GLOBAL VARIABLES
 uint8_t BCN_INIT_STATUS = 0;
 uint8_t BCN_TX_MAIN_STATUS = 0;
@@ -21,7 +20,6 @@
 uint8_t BCN_FEN = 0;                //hardcoding for now    //write this value to flash
 uint8_t BCN_STANDBY = 0;            //hardcoding for now    //check where is this variable toggled??
 uint8_t BCN_TS_BUFFER = 0;              // For Temperature 
-uint8_t BCN_FAIL_COUNT=0;
 
 void FCTN_BCN_INIT()
 {
@@ -74,7 +72,6 @@
                     {
                         Set_BCN_TX_STATUS(BCN_TX_FAILURE);
                         BCN_TX_MAIN_STATUS = 0;
-                        BCN_FAIL_COUNT+=1;
                         
                     }
              }
@@ -379,3 +376,12 @@
         return 0;
     }
 }
+/*int main()
+{
+    FCTN_BCN_INIT(); 
+    
+    loop.attach(&FCTN_BCN_TX_MAIN, 10.0);//in actual case its 30.0
+    
+    while(1);
+    
+}*/
\ No newline at end of file
--- a/TCTM.cpp	Wed Apr 13 21:48:21 2016 +0000
+++ b/TCTM.cpp	Thu Apr 14 09:34:06 2016 +0000
@@ -40,7 +40,7 @@
 /*given a default value as of now shuld read value from flash and increment it write it back very time it starts(bae)*/
 extern uint8_t BAE_RESET_COUNTER=0;
 
-extern uint8_t BCN_FAIL_COUNT;
+//extern uint8_t BCN_FAIL_COUNT;
 
 extern PwmOut PWM1; //x                         //Functions used to generate PWM signal
 extern PwmOut PWM2; //y
@@ -165,7 +165,7 @@
                             telemetry[15] = BAE_STATUS & 0xFF;
 
                             /*to be fixed*/
-                            telemetry[16] = BCN_FAIL_COUNT;
+                            //telemetry[16] = BCN_FAIL_COUNT;
                             telemetry[17] = actual_data.power_mode;
                             /*to be fixed*/
                             uint16_t P_BAE_I2CRX_COUNTER=0;
@@ -479,21 +479,21 @@
                             moment_tc[2] = 0;
                             FCTN_ACS_GENPWM_MAIN(moment_tc);
                             PWM_measured[0] = PWM1.read();
-                            FCTN_CONVERT_FLOAT(actual_data.current_actual[i],&telemetry[16 + (0*4)]);
+                            FCTN_CONVERT_FLOAT(actual_data.current_actual[5],&telemetry[16 + (0*4)]);
                             
                             FCTN_CONVERT_UINT(M1, &moment_tc[1]);
                             moment_tc[0] = 0;
                             moment_tc[2] = 0;
                             FCTN_ACS_GENPWM_MAIN(moment_tc);
                             PWM_measured[1] = PWM2.read();
-                            FCTN_CONVERT_FLOAT(actual_data.current_actual[i],&telemetry[16 + (1*4)]);
+                            FCTN_CONVERT_FLOAT(actual_data.current_actual[5],&telemetry[16 + (1*4)]);
                             
                             FCTN_CONVERT_UINT(M2, &moment_tc[2]);
                             moment_tc[0] = 0;
                             moment_tc[1] = 0;
                             FCTN_ACS_GENPWM_MAIN(moment_tc);
                             PWM_measured[2] = PWM3.read();
-                            FCTN_CONVERT_FLOAT(actual_data.current_actual[i],&telemetry[16 + (2*4)]);
+                            FCTN_CONVERT_FLOAT(actual_data.current_actual[5],&telemetry[16 + (2*4)]);
 
                             FCTN_CONVERT_FLOAT(PWM_measured[0],&telemetry[4]);    //4-7
                             FCTN_CONVERT_FLOAT(PWM_measured[1],&telemetry[8]);    //8-11
--- a/main.cpp	Wed Apr 13 21:48:21 2016 +0000
+++ b/main.cpp	Thu Apr 14 09:34:06 2016 +0000
@@ -90,14 +90,14 @@
 bool pf1check = 0;
 bool pf2check = 0;
 bool if1check = 0;
-bool if2check = 1;
+bool if2check = 0;
 
 //*****************************************************Assigning pins******************************************************//
 DigitalOut ATS1_SW_ENABLE(PTC0); // enable of att sens2 switch
 DigitalOut ATS2_SW_ENABLE(PTC16); // enable of att sens switch
 InterruptIn irpt_4m_mstr(PIN38);                                      //I2c interrupt from CDMS
 DigitalOut irpt_2_mstr(PIN4);                                        //I2C interrupt to CDMS
-I2CSlave slave (PIN1,PIN2);
+I2CSlave slave (PIN1,PIN2);///pin1 pin2
 DigitalOut batt_heat(PIN96);
 
 //ATS1_SW_ENABLE = 0;
@@ -112,7 +112,7 @@
 DigitalIn pf3(PIN83);//Fault Bar for TRXY driver
  
 //Interrupt based faults
-InterruptIn  ir1(PIN73);//Battery Gauge - Alert Bar Signal
+//InterruptIn  ir1(PIN73);//Battery Gauge - Alert Bar Signal
 InterruptIn  ir2(PIN72);//TRXY Driver TR switch Fault
 InterruptIn  ir3(PIN89);//TRZ Driver Fault Bar
 InterruptIn  ir4(PIN91);//TRZ Driver TR switch Fault
@@ -120,6 +120,7 @@
 InterruptIn  ir6(PIN80);//Beacon- Switch OC bar
 InterruptIn  ir7(PIN42);//Charger IC - Fault Bar
 
+
 //DigitalOut TRXY_SW_EN(PIN71);  //TR XY Switch
 //DigitalOut DRV_Z_SLP(PIN88);    //Sleep pin of driver z
 //DigitalOut TRZ_SW(PIN40);  //TR Z Switch
@@ -581,6 +582,7 @@
     {
         actual_data.faultIr_status &=0xFE;
     }*/
+   
     if (ir2==1)
     {
         actual_data.faultIr_status &=0xFD;
@@ -604,6 +606,7 @@
     {
         actual_data.faultIr_status &=0xBF;
     }
+    
  
 }
   
@@ -621,15 +624,17 @@
         schedcount = 1;
     }
     if(schedcount%1==0)
-    {
-       //F_ACS();
+    { pc.printf("\nSTATE IS !!!!!! = %x !!\n",ACS_STATE);
+      pc.printf("\niterp1 !!!!!! = %x !!\n",iterP1);
+      pc.printf("\niteri2 IS !!!!!! = %x !!\n",iterI2);
+       F_ACS();
     }
     
     if(schedcount%2==0)
     {
     //    F_EPS();
     }
-    if(schedcount%3==0)
+    if(schedcount%1==0)
     { 
        F_BCN();
     }
@@ -766,7 +771,7 @@
     //............................//
     FCTN_ACS_INIT();
    // FCTN_EPS_INIT();
-    FCTN_BCN_INIT();
+    //FCTN_BCN_INIT();
 
     
     FLAG();
@@ -776,7 +781,7 @@
 {
     pc.printf("\n\r BAE Activated. Testing Version 1.1 \n");
     CDMS_RESET = 1;  
-   /* if (BCN_FEN == 0)                       //dummy implementation
+    /*if (BCN_FEN == 0)                       //dummy implementation
     {
         pc.printf("\n\r RF silence ");
         FCTN_BCN_FEN();
@@ -805,12 +810,14 @@
     irpt_4m_mstr.enable_irq();
     irpt_4m_mstr.rise(&FCTN_I2C_ISR);
    // ir1.fall(&ir1clear);   //Battery Gauge - Alert Bar Signal
-    //ir2.fall(&ir2clear);   //TRXY Driver TR switch Fault
-    //ir3.fall(&ir3clear);   //TRZ Driver Fault Bar
-    //ir4.fall(&ir4clear);   //TRZ Driver TR switch Fault
-    //ir5.fall(&ir5clear);   //CDMS - Switch Fault
-    //ir6.fall(&ir6clear);   //Beacon- Switch OC bar
-    //ir7.fall(&ir7clear);   //Charger IC - Fault Bar
+ /*   ir2.fall(&ir2clear);   //TRXY Driver TR switch Fault
+    ir3.fall(&ir3clear);   //TRZ Driver Fault Bar
+    ir4.fall(&ir4clear);   //TRZ Driver TR switch Fault
+    ir5.fall(&ir5clear);   //CDMS - Switch Fault
+    ir6.fall(&ir6clear);   //Beacon- Switch OC bar
+    ir7.fall(&ir7clear);   //Charger IC - Fault Bar
+    
+    */
     RtosTimer t_sc_timer(T_SC,osTimerPeriodic);               // Initiating the scheduler thread
     t_sc_timer.start(10000);
     t_start.start();