Team Fox / Mbed 2 deprecated BAE_QM_MAR9

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of workinQM_5thJan_azad by Team Fox

Revision:
41:5df2bed2157d
Parent:
40:c2538d97e78b
--- a/main.cpp	Tue Jul 05 19:14:06 2016 +0000
+++ b/main.cpp	Fri Jul 08 08:14:29 2016 +0000
@@ -5,8 +5,8 @@
 #include "EPS.h"
 #include "BCN.h"
 #include "TCTM.h"
-#define tm_len 135
-#define tc_len 134
+#define tm_len 134
+#define tc_len 135
 #define batt_heat_low 20
 #define print 1
 #define PRINT2 1
@@ -287,7 +287,7 @@
 
 
 //TCTM
-extern uint8_t telemetry[135];
+extern uint8_t telemetry[tm_len];
 
 
 //ACS
@@ -504,7 +504,7 @@
     ACS_DATA_ACQ_STATUS = (uint8_t) FCTN_ATS_DATA_ACQ();     
     
     #if print
-        printing the angular speed and magnetic field values
+        //printing the angular speed and magnetic field values
         pc.printf("gyro values\n\r"); 
         for(int i=0; i<3; i++) 
             {
@@ -518,26 +518,40 @@
             }
     #endif
     
+    pc.printf("gyro values\n\r"); 
+        for(int i=0; i<3; i++) 
+            {
+                printf("%f\n\r",actual_data.AngularSpeed_actual[i]);
+            }
+    
+        pc.printf("mag values\n\r");
+        for(int i=0; i<3; i++) 
+            {
+                pc.printf("%f\n\r",actual_data.Bvalue_actual[i]);
+            }
+    
     for(int i=0;i<3;i++)
         {
             mag_data[i] = actual_data.Bvalue_actual[i]/1000000;
             gyro_data[i] = actual_data.AngularSpeed_actual[i]*3.14159/180;
+            //mag_data[i] = 32/1000000;
+            //gyro_data[i] = 1.5*3.14159/180;
         }
     
     if(ACS_STATE == 0)                      // check ACS_STATE = ACS_CONTROL_OFF?
         {
-            #if print
+            //#if print
                 printf("\n\r acs control off\n");
-            #endif
+            //#endif
             ACS_STATUS = 0;                // set ACS_STATUS = ACS_CONTROL_OFF
             ACS_MAIN_STATUS = 0;
             return;
         }
     else if(actual_data.power_mode<=2)
         {
-            #if print
+            //#if print
                 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
@@ -603,9 +617,9 @@
             ACS_DETUMBLING_ALGO_TYPE = 0x01;
             FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x01,ACS_DETUMBLING_ALGO_TYPE);
             controlmode_mms=0x00;
-            #if print    
+            //#if print    
                 printf("\n\r Moment values returned by control algo \n");
-            #endif
+            //#endif
             for(int i=0; i<3; i++) 
                 {
                     printf("%f\t",moment[i]);
@@ -616,9 +630,9 @@
         }
     else if(ACS_STATE == 7)                     // Nominal mode
         {
-            #if print
+            //#if print
                 printf("\n\r Nominal mode \n");
-            #endif
+            //#endif
             DRV_Z_EN = 1;
             DRV_XY_EN = 1;               
             FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x01,0x00,ACS_DETUMBLING_ALGO_TYPE);
@@ -636,26 +650,30 @@
         }
     else if(ACS_STATE == 8)                     // Auto Control
         {
-            #if print
+            //#if print
                 printf("\n\r Auto control mode \n");
-            #endif 
+            //#endif 
             DRV_Z_EN = 1;
-            DRV_XY_EN = 1;              
+            DRV_XY_EN = 1;    
+            //moment[1] = 0;
+            //moment[2]=  0;
+           // moment[0] = 0;          
             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");
+            
+            printf("\n\r Moment values returned by control algo \n");
                 for(int i=0; i<3; i++) 
                     {
                         printf("%f\t",moment[i]);
                     }
-            #endif
+            
             FCTN_ACS_GENPWM_MAIN(moment) ;// set ACS_STATUS in function
             ACS_MAIN_STATUS = 0;
             return; 
         }
     else if(ACS_STATE == 9)                     // Detumbling
         {
+            printf("Detumbling mode\r\n");
             DRV_Z_EN = 1;
             DRV_XY_EN = 1;       
             FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x01,ACS_DETUMBLING_ALGO_TYPE);
@@ -750,7 +768,7 @@
  
 
 //**************************************************BCN THREAD*******************************************************************//
-
+ 
 void F_BCN()
 {
     pc.printf("\n\rEntered BCN   %f\n",t_start.read());
@@ -770,7 +788,7 @@
         BAE_MNG_I2C_STATUS =1 ;
         I2C_last.reset();
         I2C_last.start();
-        pc.printf("\n\r intrpet");
+       // pc.printf("\n\r\r\n\r\n\r\n\r\n TELECOMMAND RECEIVED!!\r\n\r\n\r\n\r\n");
         if( slave.receive() == 0)
         {
             pdir_ss1=PTE->PDIR;                                         /////////edited
@@ -1025,7 +1043,8 @@
         {
             if( BAE_STANDBY!=0x02 && BAE_STANDBY!=0x03 && BAE_STANDBY!=0x06 && BAE_STANDBY!=0x07)
                 {
-                    pc.printf("\nSTATE IS !!!!!! = %x !!\n",ACS_STATE);
+                    pc.printf("\nACS STATE IS !!!!!! = %x !!\r\n",ACS_STATE);
+                    pc.printf("\nACS ATS STATUS IS !!!!!! = %x !!\r\n",ACS_ATS_STATUS);
                     F_ACS();
                     //time_wdog = 0;
                 }