Team Fox / Mbed 2 deprecated BAE_QM_MAR9

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of workinQM_5thJan_azad by Team Fox

Revision:
27:61c856be467e
Parent:
22:950dbe9fbeb8
Child:
33:76f2b8735501
diff -r 950dbe9fbeb8 -r 61c856be467e main.cpp
--- a/main.cpp	Fri Jul 01 18:14:34 2016 +0000
+++ b/main.cpp	Sat Jul 02 14:06:34 2016 +0000
@@ -136,6 +136,8 @@
 extern uint16_t ACS_MM_Z_COMSN;
 extern uint16_t ACS_MG_Z_COMSN;
 
+extern uint8_t controlmode_mms;
+
 //BCN
 extern uint8_t BCN_FEN;
 extern void FCTN_BCN_FEN(void const *args);
@@ -303,7 +305,7 @@
 
 //================================================================================
 //default flash array some filler bits added (detail in MMS file)
-uint32_t ARR_INITIAL_VAL[8]={0x33574C00,0x505A4141,0x1A1A1400,0x00000000,0x00000000,0x00000000,0xCBA20000,0x00000000};//to be done
+uint32_t ARR_INITIAL_VAL[8]={0x73582600,0x505A4141,0x1A1A1400,0x00000000,0x00000000,0x00000000,0xCBA20000,0x00000000};//to be done
 
 void FLASH_INI()
 {
@@ -328,14 +330,14 @@
         ACS_ATS_STATUS  = read[0]>>24;
         ACS_TR_XY_SW_STATUS = ((uint8_t)(read[0]>>22))&0x03;
         ACS_TR_Z_SW_STATUS = (read[0]>>20)&0x03;
-        ACS_DETUMBLING_ALGO_TYPE = (read[0]>>19)&0x01;
-        ACS_STATE = (read[0]>>16)&0x07;
-        BCN_TX_SW_STATUS = ((uint8_t)(read[0]>>14))&0x03;
-        BCN_SPND_TX = ((uint8_t)(read[0]>>13))&0x01;
-        BCN_FEN = ((uint8_t)(read[0]>>12))&0x01;
-        BCN_LONG_MSG_TYPE = ((uint8_t)(read[0]>>11))&0x01;
-        EPS_BTRY_HTR_AUTO = ((uint8_t)(read[0]>>10))&0x03;//EPS_BATTERY_HEATER_ENABLE
-        //now two spares in telemetry[5]
+        ACS_STATE = (read[0]>>16)&0x0F;
+        ACS_DETUMBLING_ALGO_TYPE = (read[0]>>15)&0x01;
+        BCN_TX_SW_STATUS = ((uint8_t)(read[0]>>13))&0x03;
+        BCN_SPND_TX = ((uint8_t)(read[0]>>12))&0x01;
+        BCN_FEN = ((uint8_t)(read[0]>>11))&0x01;
+        BCN_LONG_MSG_TYPE = ((uint8_t)(read[0]>>10))&0x01;
+        EPS_BTRY_HTR_AUTO = ((uint8_t)(read[0]>>9))&0x03;//EPS_BATTERY_HEATER_ENABLE
+        //now one spares in telemetry[5]
         
         //updating the reset counter
         BAE_RESET_COUNTER = ((uint8_t)(read[0]))+1;
@@ -525,6 +527,7 @@
             ACS_STATUS = 4;                 // set Set ACS_STATUS = ACS_BDOT_CONTROL
             ACS_DETUMBLING_ALGO_TYPE = 0x01;
             FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x01,ACS_DETUMBLING_ALGO_TYPE);
+            controlmode_mms=0x00;
             #if print    
                 printf("\n\r Moment values returned by control algo \n");
             #endif
@@ -544,6 +547,7 @@
             DRV_Z_EN = 1;
             DRV_XY_EN = 1;               
             FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x01,0x00,ACS_DETUMBLING_ALGO_TYPE);
+            controlmode_mms = 0x01;
             #if print    
                 printf("\n\r Moment values returned by control algo \n");
             #endif
@@ -563,6 +567,7 @@
             DRV_Z_EN = 1;
             DRV_XY_EN = 1;              
             FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x00,ACS_DETUMBLING_ALGO_TYPE);
+            controlmode_mms = 0x00;
             #if print
                 printf("\n\r Moment values returned by control algo \n");
                 for(int i=0; i<3; i++) 
@@ -579,6 +584,7 @@
             DRV_Z_EN = 1;
             DRV_XY_EN = 1;       
             FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x01,ACS_DETUMBLING_ALGO_TYPE);
+            controlmode_mms = 0x00;
             FCTN_ACS_GENPWM_MAIN(moment) ;  
             ACS_MAIN_STATUS = 0;
             return; 
@@ -1082,11 +1088,11 @@
     FCTN_EPS_INIT();
     FCTN_BCN_INIT();
     
-    uint32_t data_flash=FCTN_BAE_RD_FLASH_ENTITY(0);/*sending the 0 entity as in mms tc/tm bae_reset_counter is present in first 32 bits */
-    uint32_t data_modify=data_flash & 0x000000FF;
-    data_modify +=1;
-    data_modify |=data_flash;
-    FCTN_BAE_WR_FLASH(0,data_modify);
+    //uint32_t data_flash=FCTN_BAE_RD_FLASH_ENTITY(0);/*sending the 0 entity as in mms tc/tm bae_reset_counter is present in first 32 bits */
+    //uint32_t data_modify=data_flash & 0x000000FF;
+    //data_modify +=1;
+    //data_modify |=data_flash;
+    //FCTN_BAE_WR_FLASH(0,data_modify);
     #if print
         printf("\n\rthe number of reset %d",data_modify);
     #endif