Team Fox / Mbed 2 deprecated BAE_QM_MAR9

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of workinQM_5thJan_azad by Team Fox

Revision:
67:c0dd13285d80
Parent:
66:a5d2b8dc6b9e
Child:
72:80c32b3c2e40
diff -r a5d2b8dc6b9e -r c0dd13285d80 TCTM.cpp
--- a/TCTM.cpp	Sun Dec 04 07:58:20 2016 +0000
+++ b/TCTM.cpp	Sun Dec 04 12:12:11 2016 +0000
@@ -139,6 +139,7 @@
 extern void FCTN_BCN_TX_MAIN();
 extern uint8_t SHORT_HK_data[15];
 extern void FCTN_BCN_SPND_TX();
+extern void FCTN_BCN_INIT();
 
 
 //BAE
@@ -483,20 +484,20 @@
                                                                 telemetry[62] = (scaled>>8); 
                                                                 telemetry[63] = scaled;
                                                 
-                                                                telemetry[64] = BCN_TX_OC_FAULT;
+                                                                telemetry[64] = (~BCN_TX_OC_FAULT);
                                                                 telemetry[64] = (telemetry[64]<<1) | ACS_TR_XY_ENABLE;
                                                                 telemetry[64] = (telemetry[64]<<1) | ACS_TR_Z_ENABLE;
-                                                                telemetry[64] = (telemetry[64]<<1) | ACS_TR_XY_OC_FAULT;
-                                                                telemetry[64] = (telemetry[64]<<1) | ACS_TR_Z_OC_FAULT;
-                                                                telemetry[64] = (telemetry[64]<<1) | ACS_TR_XY_FAULT;
-                                                                telemetry[64] = (telemetry[64]<<1) | EPS_CHARGER_FAULT;
+                                                                telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_XY_OC_FAULT);
+                                                                telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_Z_OC_FAULT);
+                                                                telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_XY_FAULT);
+                                                                telemetry[64] = (telemetry[64]<<1) | (~EPS_CHARGER_FAULT);
                                                                 telemetry[64] = (telemetry[64]<<1) | EPS_CHARGER_STATUS;
                                                                 
                                                                 telemetry[65] = EPS_BATTERY_GAUGE_ALERT;
-                                                                telemetry[65] = (telemetry[65]<<1) | CDMS_OC_FAULT;
-                                                                telemetry[65] = (telemetry[65]<<1) | ACS_ATS1_OC_FAULT;
-                                                                telemetry[65] = (telemetry[65]<<1) | ACS_ATS2_OC_FAULT;
-                                                                telemetry[65] = (telemetry[65]<<1) | ACS_TR_Z_FAULT;
+                                                                telemetry[65] = (telemetry[65]<<1) | (~CDMS_OC_FAULT);
+                                                                telemetry[65] = (telemetry[65]<<1) | (~ACS_ATS1_OC_FAULT);
+                                                                telemetry[65] = (telemetry[65]<<1) | (~ACS_ATS2_OC_FAULT);
+                                                                telemetry[65] = (telemetry[65]<<1) | (~ACS_TR_Z_FAULT);
                                                                 telemetry[65] = (telemetry[65]<<3);
                                                                 //3 spare
                                                                 
@@ -551,7 +552,7 @@
                                                             }
                                                     case 0x0001:
                                                             {
-                                                                gpc.printf("\r\nmin_max hk data tm");
+                                                                gpc.printf("\r\nHK data min max");
                                                                 telemetry[0] = 0x30; // changed0x06 shifted by 1 bit 0x03
                                                                 telemetry[1] = tc[0];
                                                                 telemetry[2] = ACK_CODE;
@@ -612,16 +613,15 @@
                                                                     telemetry[98+(2*i)] =  (bae_HK_minmax.bit_data_acs_mg_min[i]>>8);
                                                                     telemetry[99+(2*i)] =  bae_HK_minmax.bit_data_acs_mg_min[i];
                                                                 }       
-                                                                  
-                                                                telemetry[104] = BCN_TX_OC_FAULT;
-                                                                telemetry[104] = (telemetry[104]<<1) | ACS_TR_XY_OC_FAULT;
-                                                                telemetry[104] = (telemetry[104]<<1) | ACS_TR_Z_OC_FAULT;
-                                                                telemetry[104] = (telemetry[104]<<1) | ACS_TR_XY_FAULT;
+                                                                telemetry[104] = (~(BCN_TX_OC_FAULT));
+                                                                telemetry[104] = (telemetry[104]<<1) | (~(ACS_TR_XY_OC_FAULT));
+                                                                telemetry[104] = (telemetry[104]<<1) | (~(ACS_TR_Z_OC_FAULT));
+                                                                telemetry[104] = (telemetry[104]<<1) | (~(ACS_TR_XY_FAULT));
                                                                 //EPS CHARGER
-                                                                telemetry[104] = (telemetry[104]<<1) | EPS_CHARGER_FAULT;//eps_charger;
-                                                                telemetry[104] = (telemetry[104]<<1) | CDMS_OC_FAULT;
-                                                                telemetry[104] = (telemetry[104]<<1) | ACS_ATS1_OC_FAULT;
-                                                                telemetry[104] = (telemetry[104]<<1) | ACS_ATS2_OC_FAULT;
+                                                                telemetry[104] = (telemetry[104]<<1) | (~(EPS_CHARGER_FAULT));//eps_charger;
+                                                                telemetry[104] = (telemetry[104]<<1) | (~(CDMS_OC_FAULT));
+                                                                telemetry[104] = (telemetry[104]<<1) | (~(ACS_ATS1_OC_FAULT));
+                                                                telemetry[104] = (telemetry[104]<<1) | (~(ACS_ATS2_OC_FAULT));
                                                                 
                                                                 telemetry[105] = (ACS_TR_Z_FAULT<<7);
                                                                 //spare 23 bits
@@ -661,9 +661,9 @@
                                             } 
                                     case 0x05:
                                             {
-                                                gpc.printf("\n\rdata for mms 0x05 flash");
+                                                gpc.printf("\n\rDATA for mms 0x05 flash");
                                                 /*changed*/
-                                                gpc.printf("\n\rwrite on flash\n");
+                                                gpc.printf("\n\rWrite on flash\n");
                                                 uint32_t FLASH_DATA;//256 bits
                                                 
                                                 uint8_t VALID_MID;//to determine wether mid is valid or not otherwise to much repetition of code 1 meaning valid
@@ -723,13 +723,25 @@
                                                     case 0x0104: 
                                                             {
                                                                 //FLASH_DATA[4] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
-                                                                ACS_Z_FIXED_MOMENT = (8<<(uint16_t)tc[7]) | (uint16_t)tc[8];
+                                                                ACS_Z_FIXED_MOMENT = ((uint16_t)tc[7]<<8) | (uint16_t)tc[8];
                                                                 FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(6);
                                                                 FLASH_DATA = (FLASH_DATA & 0x0000FFFF) | ((uint32_t)ACS_Z_FIXED_MOMENT<<16);
                                                                 FCTN_BAE_WR_FLASH(6,FLASH_DATA);
                                                                 VALID_MID=1;
                                                                 break;
                                                             }
+                                                    case 0x0105: 
+                                                            {
+                                                                //FLASH_DATA[4] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
+                                                                EPS_BAT_TEMP_DEFAULT=(uint8_t)tc[6];
+                                                                EPS_BAT_TEMP_LOW=(uint8_t)tc[7];
+                                                                EPS_BAT_TEMP_HIGH=(uint8_t)tc[8];
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(2);
+                                                                FLASH_DATA = (FLASH_DATA & 0x000000FF) | ((uint32_t)EPS_BAT_TEMP_DEFAULT<<24) | ((uint32_t)EPS_BAT_TEMP_LOW<<16) | ((uint32_t)EPS_BAT_TEMP_LOW<<8);
+                                                                FCTN_BAE_WR_FLASH(6,FLASH_DATA);
+                                                                VALID_MID=1;
+                                                                break;
+                                                            }
                                                     case 0x0106: 
                                                             {
                                                                 //FLASH_DATA[6] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
@@ -841,7 +853,7 @@
                                 {
                                     case 0x01:
                                             {
-                                                gpc.printf("\n\rFMS Activated daa");
+                                                gpc.printf("\n\rFMS Activated");
                                                 uint8_t fid=tc[3];//changed from pid to fid
                                                 switch(fid)
                                                 {
@@ -1323,7 +1335,6 @@
                                                             }
                                                     case 0xE2:
                                                             {   
-                                                                gpc.printf("\n\renterd E2 case");
                                                                 uint8_t BCN_SPND_STATE;
                                                                 BCN_SPND_STATE=tc[4];
                                                                 if(BCN_SPND_STATE==0x00)
@@ -1369,6 +1380,8 @@
                                                             }
                                                     case 0xE3:
                                                             {
+                                                                gpc.printf("\n\n\rE3 batter heater\n");
+                                                                        
                                                                 if(EPS_BTRY_HTR_AUTO != 0)
                                                                     telemetry[2]=0x87;
                                                                 else
@@ -1380,10 +1393,13 @@
                                                                                 HTR_CYCLE->stop();
                                                                                 //clear EPS_BTRY_HTR is it
                                                                                 EPS_BTRY_HTR_AUTO = 0;
+                                                                                gpc.printf("\n\n\rheater OFF\n");
      
                                                                             }
                                                                         else 
                                                                             {
+                                                                                gpc.printf("\n\n\rheater ON\n");
+                                                                                
                                                                                 if(HTR_CYCLE_COUNTS != 0xFF)
                                                                                     {
                                                                                         HTR_CYCLE_COUNTER = 0;
@@ -1417,15 +1433,15 @@
                                                                 break;
                                                             }
                                                     case 0x01:
-                                                            {   if(BAE_STANDBY==0x07)
+                                                            {   if(BAE_STANDBY==0x00)
                                                                     {
-                                                                        gpc.printf("\n\rRun P_EPS_INIT");
+                                                                        gpc.printf("\n\n\rRun P_EPS_INIT\n");
                                                                         FCTN_EPS_INIT();
                                                                         telemetry[2]=ACK_CODE;
                                                                     }
                                                                 else
                                                                     {
-                                                                        gpc.printf("\n\runable to Run P_EPS_INIT as BAE_STATUS not 111 ");;
+                                                                        gpc.printf("\n\runable to Run P_EPS_INIT as BAE_STATUS not 000 ");;
                                                                         telemetry[2]=0x87;
                                                                     }
                                                                     
@@ -1449,15 +1465,15 @@
                                                             }
                                                     case 0x02:
                                                             {
-                                                                if(BAE_STANDBY==0x07)
+                                                                if(BAE_STANDBY==0x00)
                                                                     {
-                                                                        gpc.printf("\n\rRun P_EPS_MAIN");
+                                                                        gpc.printf("\n\n\rRun P_EPS_MAIN\n");
                                                                         F_EPS();
                                                                         telemetry[2]=ACK_CODE;
                                                                     }
                                                                 else
                                                                     {
-                                                                        gpc.printf("\n\runable to Run P_EPS_MAIN as BAE_STATUS not 111 ");;
+                                                                        gpc.printf("\n\runable to Run P_EPS_MAIN as BAE_STATUS not 000 ");;
                                                                         telemetry[2]=0x87;
                                                                     }
                                                                     
@@ -1480,15 +1496,15 @@
                                                             }
                                                     case 0x03:
                                                             {
-                                                                if(BAE_STANDBY==0x07)
+                                                                if(BAE_STANDBY==0x00)
                                                                     {
-                                                                        gpc.printf("\n\rRun P_ACS_INIT");
+                                                                        gpc.printf("\n\n\rRun P_ACS_INIT\n");
                                                                         FCTN_ACS_INIT();
                                                                         telemetry[2]=ACK_CODE;
                                                                     }
                                                                 else
                                                                     {
-                                                                        gpc.printf("\n\runable to Run P_ACS_INIT as BAE_STATUS not 111 ");;
+                                                                        gpc.printf("\n\runable to Run P_ACS_INIT as BAE_STATUS not 000 ");;
                                                                         telemetry[2]=0x87;
                                                                     }
                                                                     
@@ -1511,15 +1527,15 @@
                                                             }
                                                     case 0x05:
                                                             {
-                                                                if(BAE_STANDBY==0x07)
+                                                                if(BAE_STANDBY==0x00)
                                                                     {
-                                                                        gpc.printf("\n\rRun P_ACS_MAIN");
+                                                                        gpc.printf("\n\n\rRun P_ACS_MAIN\n");
                                                                         F_ACS();
                                                                         telemetry[2]=ACK_CODE;
                                                                     }
                                                                 else
                                                                     {
-                                                                        gpc.printf("\n\runable to Run P_ACS_MAIN as BAE_STATUS not 111 ");;
+                                                                        gpc.printf("\n\runable to Run P_ACS_MAIN as BAE_STATUS not 000 ");;
                                                                         telemetry[2]=0x87;
                                                                     }
                                                                            
@@ -1543,15 +1559,17 @@
                                                             }
                                                     case 0x06:
                                                             {
-                                                                if(BAE_STANDBY==0x07)
+                                                                if(BAE_STANDBY==0x00)
                                                                     {
-                                                                        gpc.printf("\n\rRun P_BCN_INIT");
-                                                                        F_BCN();
+                                                                        gpc.printf("\n\n\rRun P_BCN_INIT\n");
+                                                                       // F_BCN(); why was this written?
+                                                                       
+                                                                       FCTN_BCN_INIT(); // does this makes sense??
                                                                         telemetry[2]=ACK_CODE;
                                                                     }
                                                                 else
                                                                     {
-                                                                        gpc.printf("\n\runable to Run P_BCN_INIT as BAE_STATUS not 111 ");;
+                                                                        gpc.printf("\n\runable to Run P_BCN_INIT as BAE_STATUS not 000 ");;
                                                                         telemetry[2]=0x87;
                                                                     }
                                                                     
@@ -1574,15 +1592,15 @@
                                                             }
                                                     case 0x07:
                                                             {
-                                                                if(BAE_STANDBY==0x07)
+                                                                if(BAE_STANDBY==0x00)
                                                                     {
-                                                                        gpc.printf("\n\rRun P_BCN_TX_MAIN");
+                                                                        gpc.printf("\n\n\rRun P_BCN_TX_MAIN\n");
                                                                         FCTN_BCN_TX_MAIN();//correct function check once
                                                                         telemetry[2]=ACK_CODE;
                                                                     }
                                                                 else
                                                                     {
-                                                                        gpc.printf("\n\runable to Run P_BCN_TX_MAIN as BAE_STATUS not 111 ");;
+                                                                        gpc.printf("\n\runable to Run P_BCN_TX_MAIN as BAE_STATUS not 000 ");;
                                                                         telemetry[2]=0x87;
                                                                     }
                                                                 
@@ -1605,7 +1623,7 @@
                                                             }
                                                     case 0x11:
                                                             {
-                                                                gpc.printf("\n\rSW_ON_ACS_ATS1_SW_ENABLE");
+                                                                gpc.printf("\n\n\rSW_ON_ACS_ATS1_SW_ENABLE\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
@@ -1616,10 +1634,18 @@
                                                                 ATS2_SW_ENABLE = 1;  // making sure we switch off the other
                                                                 //ACS_ATS_STATUS = (ACS_ATS_STATUS & 0xF3) | 0x0C ;
                                                                 ACS_ATS_STATUS = (ACS_ATS_STATUS & 0xF0) | 0x0C ;
-                                                                ATS1_SW_ENABLE = 1;
+                                                                ATS1_SW_ENABLE = 1; //  what should the signal be for unabling 0 or 1
                                                                 //ACS_ATS_STATUS = (ACS_ATS_STATUS & 0x3F);
-                                                                ACS_ATS_STATUS = (ACS_ATS_STATUS & 0x0F)|0x40;
+                                                                ACS_ATS_STATUS = (ACS_ATS_STATUS & 0x0F);// state now 00|0x40; //changed device status
                                                                 telemetry[2]=ACK_CODE;
+                                                                
+                                                                /*update in flash here*/
+                                                                uint32_t FLASH_DATA;
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
+                                                                FLASH_DATA = (FLASH_DATA & 0x3FFFFFFF);
+                                                                FCTN_BAE_WR_FLASH(0,FLASH_DATA);
+                                                                
+                                                                
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
                                                                         telemetry[i]=0x00;
@@ -1642,7 +1668,15 @@
                                                                 ATS1_SW_ENABLE = 0; //make sure u switch off the other
                                                                 ACS_ATS_STATUS = (ACS_ATS_STATUS & 0x0F) | 0xC0 ;
                                                                 ATS2_SW_ENABLE = 0;
-                                                                ACS_ATS_STATUS = (ACS_ATS_STATUS & 0xF0)|0x04;
+                                                                ACS_ATS_STATUS = (ACS_ATS_STATUS & 0xF0);//|0x04; changed here
+                                                                
+                                                                /*update in flash here*/
+                                                                uint32_t FLASH_DATA;
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
+                                                                FLASH_DATA = (FLASH_DATA & 0xF3FFFFFF);
+                                                                FCTN_BAE_WR_FLASH(0,FLASH_DATA);
+                                                                
+                                                                
                                                                 telemetry[2]=ACK_CODE;
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
@@ -1659,13 +1693,21 @@
                                                             }
                                                     case 0x13:
                                                             {
-                                                                gpc.printf("\n\rSW_ON_ACS_TR_XY_ENABLE");
+                                                                gpc.printf("\n\n\rSW_ON_ACS_TR_XY_ENABLE\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
                                                                 DRV_XY_EN = 1;//1 SWITCH enable here
                                                                 ACS_TR_XY_ENABLE = 1;
                                                                 ACS_TR_XY_SW_STATUS=0x01;
+                                                                
+                                                                /*update in flash here*/
+                                                                uint32_t FLASH_DATA;
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
+                                                                FLASH_DATA = ((FLASH_DATA & 0xFF3FFFFF) | 0x00400000 ) ;
+                                                                FCTN_BAE_WR_FLASH(0,FLASH_DATA);
+                                                                
+                                                                
                                                                 telemetry[2]=ACK_CODE;
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
@@ -1682,13 +1724,21 @@
                                                             }
                                                     case 0x14:
                                                             {
-                                                                gpc.printf("\n\rSW_ON_ACS_TR_Z_ENABLE");
+                                                                gpc.printf("\n\n\rSW_ON_ACS_TR_Z_ENABLE\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
                                                                 DRV_Z_EN = 1;
                                                                 ACS_TR_Z_ENABLE = 1;
                                                                 ACS_TR_Z_SW_STATUS=0x01;
+                                                                
+                                                                /*update in flash here*/
+                                                                uint32_t FLASH_DATA;
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
+                                                                FLASH_DATA = ((FLASH_DATA & 0xFFCFFFFF) | 0x00100000 ) ;
+                                                                FCTN_BAE_WR_FLASH(0,FLASH_DATA);
+                                                                
+                                                                
                                                                 telemetry[2]=ACK_CODE;
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
@@ -1705,12 +1755,20 @@
                                                             }
                                                     case 0x15:
                                                             {
-                                                                gpc.printf("\n\rSW_ON_BCN_TX_SW_ENABLE");
+                                                                gpc.printf("\n\n\rSW_ON_BCN_TX_SW_ENABLE\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
                                                                 BCN_SW = 0;//here 0 is switch enable
-                                                                BCN_TX_SW_ENABLE=0x01;
+                                                                BCN_TX_SW_STATUS=0x01;//BCN_TX_SW_ENABLE CHANGED TO BCN_TX_SW_STATUS
+                                                                
+                                                                /*update in flash here*/
+                                                                uint32_t FLASH_DATA;
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
+                                                                FLASH_DATA = ((FLASH_DATA & 0xFFFF9FFF) | 0x00002000 ) ;
+                                                                FCTN_BAE_WR_FLASH(0,FLASH_DATA);
+                                                                
+                                                                
                                                                 telemetry[2]=ACK_CODE;
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
@@ -1727,7 +1785,7 @@
                                                             }
                                                     case 0x21:
                                                             {
-                                                                gpc.printf("\n\rSW_OFF_ACS_ATS1_SW_ENABLE");
+                                                                gpc.printf("\n\n\rSW_OFF_ACS_ATS1_SW_ENABLE\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
@@ -1735,11 +1793,13 @@
                                                                 ACS_ATS_STATUS = (ACS_ATS_STATUS & 0x3F) | 0xC0 ;
                                                                 telemetry[2]=ACK_CODE;
                                                                 
+                                                                /*update in flaash here*/
                                                                 uint32_t FLASH_DATA;
                                                                 FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
-                                                                FLASH_DATA = (FLASH_DATA | 0xC0000000);
+                                                                FLASH_DATA = (FLASH_DATA | 0xC0000000 ) ;
                                                                 FCTN_BAE_WR_FLASH(0,FLASH_DATA);
                                                                 
+                                                                
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
                                                                         telemetry[i]=0x00;
@@ -1783,12 +1843,20 @@
                                                             }
                                                     case 0x23:
                                                             {
-                                                                gpc.printf("\n\rSW_OFF_ACS_TR_XY_ENABLE");
+                                                                gpc.printf("\n\n\rSW_OFF_ACS_TR_XY_ENABLE\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
                                                                 ACS_TR_XY_ENABLE = 0;
                                                                 ACS_TR_XY_SW_STATUS=0x03;
+                                                                
+                                                                /*update in flash here*/
+                                                                uint32_t FLASH_DATA;
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
+                                                                FLASH_DATA = (FLASH_DATA | 0x00C00000 ) ;
+                                                                FCTN_BAE_WR_FLASH(0,FLASH_DATA);
+                                                                
+                                                                
                                                                 telemetry[2]=ACK_CODE;
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
@@ -1805,12 +1873,20 @@
                                                             }
                                                     case 0x24:
                                                             {
-                                                                gpc.printf("\n\rSW_OFF_ACS_TR_Z_ENABLE");
+                                                                gpc.printf("\n\n\rSW_OFF_ACS_TR_Z_ENABLE\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
                                                                 ACS_TR_Z_ENABLE = 0;
                                                                 ACS_TR_Z_SW_STATUS=0x03;
+                                                                
+                                                                /*update in flash here*/
+                                                                uint32_t FLASH_DATA;
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
+                                                                FLASH_DATA = (FLASH_DATA | 0x00300000 ) ;
+                                                                FCTN_BAE_WR_FLASH(0,FLASH_DATA);
+                                                                
+                                                                
                                                                 telemetry[2]=ACK_CODE;
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
@@ -1827,13 +1903,20 @@
                                                             }
                                                     case 0x25:
                                                             {
-                                                                gpc.printf("\n\rSW_OFF_BCN_TX_SW_ENABLE");
-                                                                gpc.printf("\n\r bcn switched off");
+                                                                gpc.printf("\n\n\rSW_OFF_BCN_TX_SW_ENABLE\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
                                                                 BCN_SW = 1;
                                                                 BCN_TX_SW_ENABLE=0x03;
+                                                                
+                                                                /*update in the flash*/
+                                                                uint32_t FLASH_DATA;
+                                                                FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
+                                                                FLASH_DATA = (FLASH_DATA | 0x00006000 ) ;
+                                                                FCTN_BAE_WR_FLASH(0,FLASH_DATA);
+                                                                
+                                                                
                                                                 telemetry[2]=ACK_CODE;
                                                                 for(uint8_t i=3;i<11;i++)
                                                                     {
@@ -1850,7 +1933,7 @@
                                                             }
                                                     case 0x31:
                                                             {
-                                                                gpc.printf("\n\rACS_ATS1_SW_RESET");
+                                                                gpc.printf("\n\n\rACS_ATS1_SW_RESET\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
@@ -1874,7 +1957,7 @@
                                                             }
                                                     case 0x32:
                                                             {
-                                                                gpc.printf("\n\rACS_ATS2_SW_RESET");
+                                                                gpc.printf("\n\n\rACS_ATS2_SW_RESET\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
@@ -1898,7 +1981,7 @@
                                                             }
                                                     case 0x33:
                                                             {
-                                                                gpc.printf("\n\rACS_TR_XY_SW_RESET");
+                                                                gpc.printf("\n\n\rACS_TR_XY_SW_RESET\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
@@ -1921,7 +2004,7 @@
                                                             }
                                                     case 0x34:
                                                             {
-                                                                gpc.printf("\n\rACS_TR_Z_SW_RESET");
+                                                                gpc.printf("\n\n\rACS_TR_Z_SW_RESET\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
@@ -1944,7 +2027,7 @@
                                                             }
                                                     case 0x35:
                                                             {
-                                                                gpc.printf("\n\rBCN_TX_SW_RESET");
+                                                                gpc.printf("\n\n\rBCN_TX_SW_RESET\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
@@ -1967,13 +2050,13 @@
                                                             }
                                                     case 0x36:
                                                             {
-                                                                gpc.printf("\n\rBAE_INTERNAL_RESET TO be done ");
+                                                                gpc.printf("\n\n\rBAE_INTERNAL_RESET TO be done \n");
                                                                 NVIC_SystemReset();
                                                                 break;
                                                             }
                                                     case 0x37:
                                                             {
-                                                                gpc.printf("\n\rCDMS_RESET");
+                                                                gpc.printf("\n\n\rCDMS_RESET\n");
                                                                 //ACK_L234_TM
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
@@ -2019,24 +2102,24 @@
                                                             }
                                                     case 0x40://condition changed by AK47 now 00 means off in TC
                                                             {
-                                                                printf("\n entering 0x40 case");
+                                                                printf("\n\n\r EN_PRCS\n");
                                                                 uint8_t STANDBY_DATA_TC;
                                                                 BAE_STANDBY=0x07;
                                                                 STANDBY_DATA_TC=tc[4];
                                                                 if(STANDBY_DATA_TC==0x00)
                                                                     {
-                                                                        BAE_STANDBY &=0x03;//for bcn
+                                                                        BAE_STANDBY &=0x03;
                                                                         //$ L BAE_STANDBY_TIMER_RESET();
                                                                         //BAE_STANDBY_TIMER();//to be created to make all sensor on after 20 minutes
                                                                     }
-                                                                STANDBY_DATA_TC=tc[5];//for acs
+                                                                STANDBY_DATA_TC=tc[5];
                                                                 if(STANDBY_DATA_TC==0x00)
                                                                     {
                                                                         BAE_STANDBY &=0x05;
                                                                         //$ L BAE_STANDBY_TIMER_RESET();
                                                                         //BAE_STANDBY_TIMER();//to be created to make all sensor on after 20 minutes
                                                                     }
-                                                                STANDBY_DATA_TC=tc[6];//eps
+                                                                STANDBY_DATA_TC=tc[6];
                                                                 if(STANDBY_DATA_TC==0x00)
                                                                     {
                                                                         BAE_STANDBY &=0x06;
@@ -2061,7 +2144,7 @@
                                                             }
                                                 case 0x41:
                                                         {
-                                                            gpc.printf("\n\rexecutng BAE reset HK counter");
+                                                            gpc.printf("\n\n\rexecutng BAE reset HK counter\n");
                                                             firstCount=true;
                                                             void minMaxHkData();
                     
@@ -2154,6 +2237,7 @@
 }
 
 
+
 int strt_add = flash_size() - (2*SECTOR_SIZE);
 uint32_t flasharray[8];    //256+(3*1024)
 /*corrected*/