Team Fox / Mbed 2 deprecated BAE_QM_MAR9

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of workinQM_5thJan_azad by Team Fox

Revision:
52:daa685b0e390
Parent:
50:6001287f3045
Child:
55:6ea0d7e9fce2
diff -r 661dc022613a -r daa685b0e390 main.cpp
--- a/main.cpp	Fri Jul 22 17:32:41 2016 +0000
+++ b/main.cpp	Fri Jul 22 22:21:05 2016 +0000
@@ -279,34 +279,30 @@
 
 //eps hw faults
 //uint8_t ACS_TR_Z_SW_STATUS;
-DigitalOut ACS_TR_Z_ENABLE(PIN40);
+DigitalOut ACS_TR_Z_ENABLE(PIN40,0);
 DigitalIn ACS_TR_Z_OC_FAULT(PIN91);
 DigitalIn ACS_TR_Z_FAULT(PIN89);            //Driver IC fault
 int ACS_TR_Z_FAULT_COUNTER = 0;
 
 
-#if SBC
 InterruptIn irpt_4m_mstr(PIN38);                                      //I2c interrupt from CDMS
 DigitalOut irpt_2_mstr(PIN4);                                        //I2C interrupt to CDMS
-#endif
+
 
-#if !SBC
-InterruptIn irpt_4m_mstr(PIN38);                                      //I2c interrupt from CDMS
-DigitalOut irpt_2_mstr(PIN4);                                        //I2C interrupt to CDMS
-#endif
+
 
 //uint8_t ACS_TR_XY_SW_STATUS;
-DigitalOut ACS_TR_XY_ENABLE(PIN71);
-DigitalIn ACS_TR_XY_OC_FAULT(PIN72);
+DigitalOut ACS_TR_XY_ENABLE(PIN71,0);
+DigitalIn ACS_TR_XY_OC_FAULT(PIN77);
 DigitalIn ACS_TR_XY_FAULT(PIN83);            //Driver IC fault
 int ACS_TR_XY_FAULT_COUNTER = 0;
 
 //bool ACS_ATS1_ENABLE;
-DigitalIn ACS_ATS1_OC_FAULT(PIN5);
+DigitalIn ACS_ATS1_OC_FAULT(PIN39);
 int ACS_TS1_FAULT_COUNTER = 0;
 
 //bool ACS_ATS2_ENABLE;
-DigitalIn ACS_ATS2_OC_FAULT(PIN97);
+DigitalIn ACS_ATS2_OC_FAULT(PIN41);
 int ACS_ATS2_FAULT_COUNTER;
 
 //EPS
@@ -372,8 +368,8 @@
 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
+DigitalOut ATS1_SW_ENABLE(PIN90,1); // enable of att sens2 switch
+DigitalOut ATS2_SW_ENABLE(PIN61,0); // 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);///pin1 pin2
@@ -390,18 +386,22 @@
 //DigitalIn pf2(PIN97);//Attitude Sensor 2 OC bar fault signal
 //DigitalIn pf3(PIN83);//Fault Bar for TRXY driver
  
-DigitalOut TRXY_SW(PIN71,1);  //TR XY Switch
-DigitalOut DRV_Z_EN(PIN88);    //Sleep pin of driver z
-DigitalOut TRZ_SW(PIN40,1);  //TR Z Switch
+ 
+DigitalOut DRV_XY_EN(PIN82,0); // DRV XY en
+//DigitalOut TRXY_SW(PIN71,0);  //TR XY Switch
+DigitalOut DRV_Z_EN(PIN88,0);    //Sleep pin of driver z        //DISABLE  by default
+//DigitalOut TRZ_SW(PIN40,0);  //TR Z Switch
+
 DigitalOut CDMS_RESET(PIN7,1); // CDMS RESET
-DigitalOut BCN_SW(PIN14,0);      //Beacon switch
-DigitalOut DRV_XY_EN(PIN82);
+
+DigitalOut CDMS_OC_ENA(PIN70,1);
 
-
+DigitalOut BCN_SW(PIN65,1);               //IN TEMPORARY SBC
+//DigitalOut BCN_SW(PIN14,1);      //Beacon switch  //IN QM SBC, TO BE CHANGED
 
 //================================================================================
 //default flash array some filler bits added (detail in MMS file)
-uint32_t ARR_INITIAL_VAL[8]={0x73582600,0x505A4141,0x1A1A1400,0x00000000,0x00000000,0x00000000,0xCBA20000,0x00000000};//to be done
+uint32_t ARR_INITIAL_VAL[8]={0x73532600,0x505A4141,0x1A1A1400,0x00000000,0x00000000,0x00000000,0xCBA20000,0x00000000};//to be done
 
 void FLASH_INI()
 {
@@ -605,11 +605,11 @@
             ACS_MAIN_STATUS = 0;
             return;
         }
-    else if((actual_data.power_mode<=2)&&( (ACS_STATE&0x80) != 0x80))
+    else if((actual_data.power_mode<=2)&&( (( ACS_STATE)&0x08) != 0x08))
         {
-            #if print
+            //#if print
                 pc.printf("\n\r Low Power \n\r");
-            #endif
+            //#endif
             DRV_Z_EN = 0;
             DRV_XY_EN = 0;
             ACS_STATUS = 1;                    // set ACS_STATUS = ACS_LOW_POWER
@@ -619,6 +619,7 @@
         }
     else if(ACS_TR_Z_SW_STATUS != 1)
         {
+            pc.printf("\n\r Z disabled \n\r");
             DRV_Z_EN = 0;
             DRV_XY_EN = 0;
             ACS_STATUS = 2;                 // set ACS_STAUS = ACS_TRZ_DISABLED
@@ -626,7 +627,8 @@
             return;       
         }
     else if(ACS_TR_XY_SW_STATUS != 1)
-        {                 
+        {   
+            pc.printf("\n\r Z only \n\r");              
             DRV_Z_EN = 1;
             DRV_XY_EN = 0;
             ACS_STATUS = 3;                 // set ACS_STAUS = ACS_TRXY_DISABLED , Z axis only
@@ -643,6 +645,8 @@
         }
     else if((ACS_DATA_ACQ_STATUS == 0)||(ACS_DATA_ACQ_STATUS == 1))
         {
+            
+            pc.printf("\n\r Z only no data \n\r");
             DRV_Z_EN = 1;
             DRV_XY_EN = 0;
             ACS_STATUS = 3;                 // set Set ACS_STATUS = ACS_DATA_ACQN_FAILURE , Z axis only
@@ -659,8 +663,9 @@
             ACS_MAIN_STATUS = 0;
             return; 
         }
-    else if(ACS_STATE == 1)
+    else if((ACS_STATE == 1)||(ACS_STATE == 9))
         {
+            pc.printf("\n\r Z only by state \n\r");
             DRV_Z_EN = 1;
             DRV_XY_EN = 0;
             ACS_STATUS = 3;                 // set ACS_STAUS = ACS_TRXY_DISABLED by ACS_STATE i.e Z axis only
@@ -675,6 +680,7 @@
         }
     else if(ACS_DATA_ACQ_STATUS == 2)           // MM only is available
         {
+            pc.printf("\n\r MM only BDOT \n\r");
             DRV_Z_EN = 1;
             DRV_XY_EN = 1;
                               
@@ -693,7 +699,7 @@
             ACS_MAIN_STATUS = 0;
             return;  
         }
-    else if(ACS_STATE == 2)                     // Nominal mode
+    else if((ACS_STATE == 2)||(ACS_STATE == 10))                     // Nominal mode
         {
             #if print
                 pc.printf("\n\r Nominal mode \n");
@@ -723,7 +729,7 @@
             ACS_MAIN_STATUS = 0;
             return; 
         }
-    else if(ACS_STATE == 3)                     // Auto Control
+    else if((ACS_STATE == 3)||(ACS_STATE == 11))                     // Auto Control
         {
             #if print
                 pc.printf("\n\r Auto control mode \n");
@@ -744,7 +750,7 @@
                         pc.printf("%f\t",moment[i]);
                     }
             #endif
-            
+            pc.printf("\r\n");
             timer_FCTN_ACS_GENPWM_MAIN.start();
             FCTN_ACS_GENPWM_MAIN(moment) ;// set ACS_STATUS in function
             timer_FCTN_ACS_GENPWM_MAIN.stop();
@@ -753,8 +759,9 @@
             ACS_MAIN_STATUS = 0;
             return; 
         }
-    else if(ACS_STATE == 4)                     // Detumbling
+    else if((ACS_STATE == 4)||(ACS_STATE == 12))                     // Detumbling
         {
+            pc.printf("\n\r Detumbling \n\r");
             DRV_Z_EN = 1;
             DRV_XY_EN = 1;       
             FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x01,ACS_DETUMBLING_ALGO_TYPE);
@@ -1129,7 +1136,8 @@
 
 void pollfault()
 {   
-    if (ACS_ATS1_OC_FAULT==0)                // OC_ATS1
+    //if (ACS_ATS1_OC_FAULT==0)                // OC_ATS1
+    if(0)
         { 
             pf1check=1;
             actual_data.faultPoll_status |=0x01 ;
@@ -1138,7 +1146,8 @@
     else 
         actual_data.faultPoll_status &= 0xFE;
     
-    if(ACS_ATS2_OC_FAULT==0)
+    //if(ACS_ATS2_OC_FAULT==0)
+    if(0)
         {   
             pf2check=1;
             actual_data.faultPoll_status |=0x02 ;
@@ -1178,7 +1187,7 @@
                     pc.printf("\nSTATE IS !!!!!! = %x !!\n",ACS_STATE);
                     timer_F_ACS.reset();
                     timer_F_ACS.start();
-                    //F_ACS();
+                    F_ACS();
                     timer_F_ACS.stop();
                     /*pc.printf("\n\r timer_F_ACS is %f",timer_F_ACS.read());
                     pc.printf("\n\r timer_SENSOR_INIT is %f",timer_SENSOR_INIT.read());
@@ -1382,13 +1391,13 @@
     actual_data.power_mode=3;
     
     //............intializing pins................//
-    ATS1_SW_ENABLE = 0;
+    ATS1_SW_ENABLE = 1;
     ATS2_SW_ENABLE = 1;
 
     DRV_XY_EN = 1;
     DRV_Z_EN = 1;
-    TRZ_SW = 1;
-    TRXY_SW = 1;
+    ACS_TR_Z_ENABLE = 1;
+    ACS_TR_XY_ENABLE = 1;
 
     //time_wdog = 1;