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
diff -r c2538d97e78b -r 5df2bed2157d TCTM.cpp
--- a/TCTM.cpp	Tue Jul 05 19:14:06 2016 +0000
+++ b/TCTM.cpp	Fri Jul 08 08:14:29 2016 +0000
@@ -18,7 +18,7 @@
 //***********************************FOR STANDBY TIMER****************************************************
 extern void BAE_STANDBY_TIMER_RESET();
 
-uint8_t telemetry[135];
+uint8_t telemetry[134];
 extern uint8_t BAE_HK_data[134];
 
 //*****************PARA******************************
@@ -353,6 +353,7 @@
                                                                 telemetry[5] = (telemetry[5]<<1);
                                                                 //now one spares in telemetry[5]
                                                                 telemetry[6] = BAE_RESET_COUNTER;
+                                                                printf("telemetry[6] flash read is   %x:\r\r\n ",telemetry[6]);
                                                                 telemetry[7] = EPS_SOC_LEVEL_12; 
                                                                 telemetry[8] = EPS_SOC_LEVEL_23;
                                                                 telemetry[9] = ACS_MAG_TIME_DELAY;
@@ -369,6 +370,7 @@
                                                                 
                                                                 telemetry[18] = ACS_MG_X_COMSN >> 8;
                                                                 telemetry[19] = ACS_MG_X_COMSN;
+                                                                printf("telemetry[19] flash read is   %x: \r\n",telemetry[19]);
                                                                 
                                                                 telemetry[20] = ACS_MG_Y_COMSN >> 8;
                                                                 telemetry[21] = ACS_MG_Y_COMSN;
@@ -515,6 +517,7 @@
                                                                 crc16 = CRC::crc16_gen(telemetry,132);
                                                                 telemetry[132] = (uint8_t)((crc16&0xFF00)>>8);
                                                                 telemetry[133] = (uint8_t)(crc16&0x00FF);
+                                                                printf("CRC   %x %x: \r\n",telemetry[132],telemetry[133]);
                                     
                                                                 break;
                                                             }
@@ -597,6 +600,7 @@
                                                                 crc16 = CRC::crc16_gen(telemetry,132);
                                                                 telemetry[132] = (uint8_t)((crc16&0xFF00)>>8);
                                                                 telemetry[133] = (uint8_t)(crc16&0x00FF);
+                                                                printf("CRC   %x %x: \r\n",telemetry[132],telemetry[133]);
                                                                 break;
                                                             }
                                                     default://invalid MID
@@ -638,6 +642,7 @@
                                                                 //FLASH_DATA[0] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[8]);
                                                                 //FCTN_BAE_WR_FLASH(0,FLASH_DATA[0]);
                                                                 BCN_LONG_MSG_TYPE = tc[8];
+                                                                printf("BCN_LONG_MSG_TYPE = tc[8]   = :  %X",tc[8]);
                                                                 FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
                                                                 FLASH_DATA = (FLASH_DATA & 0xFFFFFBFF) | (10<<(uint32_t)tc[8]);//see if uint8 to uint32 conversion works
                                                                 FCTN_BAE_WR_FLASH(0,FLASH_DATA);
@@ -648,7 +653,9 @@
                                                             {
                                                                 //FLASH_DATA[1] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
                                                                 ACS_DETUMBLING_ALGO_TYPE = (tc[8] & 0x01);
-                                                                ACS_STATE = (tc[8]>>1) & 0x0F;
+                                                                printf("ACS_DETUMBLING_ALGO_TYPE = tc[8] =  :  %X",tc[8]);
+                                                                //ACS_STATE = (tc[8]>>1) & 0x0F;
+                                                                ACS_STATE = 9;
                                                                 FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
                                                                 FLASH_DATA = (FLASH_DATA & 0xFFF07FFF) | (15<<(uint32_t)tc[8]);
                                                                 FCTN_BAE_WR_FLASH(0,FLASH_DATA);
@@ -661,6 +668,7 @@
                                                                 //FLASH_DATA[2] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
                                                                 //EPS_BATTERY_HEATER_ENABLE = tc[8];
                                                                 EPS_BTRY_HTR_AUTO = tc[8];
+                                                                printf("EPS_BTRY_HTR_AUTO = tc[8] =  :  %X",tc[8]);
                                                                 FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(0);
                                                                 FLASH_DATA = (FLASH_DATA & 0xFFFFFDFF) | (9<<(uint32_t)tc[8]);
                                                                 FCTN_BAE_WR_FLASH(0,FLASH_DATA);
@@ -673,6 +681,8 @@
                                                                 //FLASH_DATA[3] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
                                                                 ACS_MAG_TIME_DELAY = tc[7];
                                                                 ACS_DEMAG_TIME_DELAY = tc[8];
+                                                                printf("ACS_MAG_TIME_DELAY= tc[7] =  :  %X",tc[7]);
+                                                                printf("ACS_DEMAG_TIME_DELAY = tc[8] =  :  %X",tc[8]);
                                                                 FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(1);
                                                                 FLASH_DATA = (FLASH_DATA & 0xFFFF0000) | (8<<(uint32_t)tc[7]) | ((uint32_t)tc[8]); 
                                                                 FCTN_BAE_WR_FLASH(1,FLASH_DATA);
@@ -682,7 +692,9 @@
                                                     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];
+                                                                printf("ACS_Z_FIXED_MOMENT = tc[7]tc[8] =  : %X  %X",tc[7], 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);
@@ -694,6 +706,8 @@
                                                                 //FLASH_DATA[6] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
                                                                 ACS_MM_Z_COMSN = ((uint16_t)tc[5]<<8) | (uint16_t)tc[6];  
                                                                 ACS_MG_Z_COMSN = ((uint16_t)tc[7]<<8) | (uint16_t)tc[8];
+                                                                printf("ACS_MM_Z_COMSN = tc[5]tc[6] =  : %X  %X",tc[5], tc[6]);
+                                                                printf("ACS_MG_Z_COMSN = tc[7]tc[8] =  : %X  %X",tc[7], tc[8]);
                                                                 FLASH_DATA = ((uint32_t)ACS_MM_Z_COMSN<<16) | (uint32_t)ACS_MG_Z_COMSN;  
                                                                 FCTN_BAE_WR_FLASH(5,FLASH_DATA);
                                                                 VALID_MID=1;
@@ -704,6 +718,9 @@
                                                                 //FLASH_DATA[5] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
                                                                 EPS_SOC_LEVEL_12 = tc[7];
                                                                 EPS_SOC_LEVEL_23 = tc[8];
+                                                                printf("EPS_SOC_LEVEL_12 =  :  %X",tc[7]);
+                                                                printf("EPS_SOC_LEVEL_23 =  :  %X",tc[8]);
+                                                                printf("ACS_MG_Z_COMSN = tc[7]tc[8] =  : %X  %X",tc[7], tc[8]);
                                                                 FLASH_DATA = FCTN_BAE_RD_FLASH_ENTITY(1);
                                                                 FLASH_DATA = (FLASH_DATA & 0x0000FFFF) | ((uint32_t)tc[7]<<24) | ((uint32_t)tc[8]<<16);
                                                                 FCTN_BAE_WR_FLASH(1,FLASH_DATA);
@@ -715,6 +732,8 @@
                                                                 //FLASH_DATA[6] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
                                                                 ACS_MM_X_COMSN = ((uint16_t)tc[5]<<8) | (uint16_t)tc[6];  
                                                                 ACS_MM_Y_COMSN = ((uint16_t)tc[7]<<8) | (uint16_t)tc[8];
+                                                                printf("ACS_MM_X_COMSN = tc[5]tc[6] =  : %X  %X",tc[5], tc[6]);
+                                                                printf("ACS_MM_Y_COMSN = tc[7]tc[8] =  : %X  %X",tc[7], tc[8]);
                                                                 FLASH_DATA = ((uint32_t)ACS_MM_X_COMSN<<16) | (uint32_t)ACS_MM_Y_COMSN;
                                                                 FCTN_BAE_WR_FLASH(3,FLASH_DATA);
                                                                 VALID_MID=1;
@@ -725,6 +744,8 @@
                                                                 //FLASH_DATA[7] = (((uint32_t)tc[5] << 24) | ((uint32_t)tc[6] << 16) | ((uint32_t)tc[7] << 8) | (uint32_t)tc[6]);
                                                                 ACS_MG_X_COMSN = ((uint16_t)tc[5]<<8) | (uint16_t)tc[6];  
                                                                 ACS_MG_Y_COMSN = ((uint16_t)tc[7]<<8) | (uint16_t)tc[8];
+                                                                printf("ACS_MG_X_COMSN = tc[5]tc[6] =  : %X  %X",tc[5], tc[6]);
+                                                                printf("ACS_MG_Y_COMSN = tc[7]tc[8] =  : %X  %X",tc[7], tc[8]);
                                                                 FLASH_DATA = ((uint32_t)ACS_MG_X_COMSN<<16) | (uint32_t)ACS_MG_Y_COMSN;
                                                                 FCTN_BAE_WR_FLASH(4,FLASH_DATA);
                                                                 VALID_MID=1;
@@ -849,7 +870,7 @@
                                         
                                                                 // Control algo commissioning
                                                                 uint16_t moment_ret;
-                                                                telemetry[0] = 0xF0;
+                                                                telemetry[0] = 0x78;
                                                                 telemetry[1] = tc[0];
                                                                 telemetry[2] = ACK_CODE;
                                                                 telemetry[3] = 0x00;
@@ -873,8 +894,8 @@
                                                                         telemetry[i]=0x00;
                                                                     }
                                                                 crc16 = CRC::crc16_gen(telemetry,132);
-                                                                telemetry[133] = (uint8_t)((crc16&0xFF00)>>8);
-                                                                telemetry[134] = (uint8_t)(crc16&0x00FF);
+                                                                telemetry[132] = (uint8_t)((crc16&0xFF00)>>8);
+                                                                telemetry[133] = (uint8_t)(crc16&0x00FF);
                                                                 break;
                                                             }
                                                     case 0xE1:
@@ -897,7 +918,7 @@
                                                                 
                                                                 DRV_Z_EN = 1;
                                                                 DRV_XY_EN = 1;  
-                                                                telemetry[0]=0xF0;
+                                                                telemetry[0]=0x78;
                                                                 telemetry[1]=tc[0];
                                                                 telemetry[2]=ACK_CODE;
                                                                 telemetry[3] = 0x00;
@@ -1250,8 +1271,8 @@
                                                                     }
                                     
                                                                 crc16 = CRC::crc16_gen(telemetry,132);
-                                                                telemetry[133] = (uint8_t)((crc16&0xFF00)>>8);
-                                                                telemetry[134] = (uint8_t)(crc16&0x00FF);
+                                                                telemetry[132] = (uint8_t)((crc16&0xFF00)>>8);
+                                                                telemetry[133] = (uint8_t)(crc16&0x00FF);
                                                                 break;
                                                             }
                                                     case 0xE2:
@@ -1545,6 +1566,7 @@
                                                                     ATS PIN OR STATUS YET TO BE DECIDED. DECIDED THAT IT IS PIN TC CAN SWITCH ON/OFF THE SENSOR
                                                                 */
                                                                 ATS2_SW_ENABLE = 1;  // making sure we switch off the other
+                                                                wait_ms(5);
                                                                 //ACS_ATS_STATUS = (ACS_ATS_STATUS & 0xF3) | 0x0C ;
                                                                 ACS_ATS_STATUS = (ACS_ATS_STATUS & 0xF0) | 0x0C ;
                                                                 ATS1_SW_ENABLE = 0;
@@ -1571,6 +1593,7 @@
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];
                                                                 ATS1_SW_ENABLE = 1; //make sure u switch off the other
+                                                                wait_ms(5);
                                                                 ACS_ATS_STATUS = (ACS_ATS_STATUS & 0x0F) | 0xC0 ;
                                                                 ATS2_SW_ENABLE = 0;
                                                                 ACS_ATS_STATUS = (ACS_ATS_STATUS & 0xF0)|0x04;
@@ -1812,7 +1835,7 @@
                                                                     }
                                                                 break;
                                                             }
-                                                    case 0x33:
+                                                    case 0x44:
                                                             {
                                                                 printf("\n\rACS_TR_XY_SW_RESET");
                                                                 //ACK_L234_TM
@@ -1933,7 +1956,7 @@
                                                                     }
                                                                 break;
                                                             }
-                                                    case 0x40:
+                                                    case 0x33:
                                                             {
                                                                 uint8_t STANDBY_DATA_TC;
                                                                 BAE_STANDBY=0x00;
@@ -1941,23 +1964,24 @@
                                                                 if(STANDBY_DATA_TC==0x01)
                                                                     {
                                                                         BAE_STANDBY |=0x04;
-                                                                        BAE_STANDBY_TIMER_RESET();
+                                                                        //BAE_STANDBY_TIMER_RESET();
                                                                         //BAE_STANDBY_TIMER();//to be created to make all sensor on after 20 minutes
                                                                     }
                                                                 STANDBY_DATA_TC=tc[5];
                                                                 if(STANDBY_DATA_TC==0x01)
                                                                     {
                                                                         BAE_STANDBY |=0x02;
-                                                                        BAE_STANDBY_TIMER_RESET();
+                                                                        //BAE_STANDBY_TIMER_RESET();
                                                                         //BAE_STANDBY_TIMER();//to be created to make all sensor on after 20 minutes
                                                                     }
                                                                 STANDBY_DATA_TC=tc[6];
                                                                 if(STANDBY_DATA_TC==0x01)
                                                                     {
                                                                         BAE_STANDBY |=0x01;
-                                                                        BAE_STANDBY_TIMER_RESET();
+                                                                        //BAE_STANDBY_TIMER_RESET();
                                                                         //BAE_STANDBY_TIMER();//to be created to make all sensor on after 20 minutes
                                                                     }
+                                                                    printf("BAE_STANDBY    : %X\r\n",BAE_STANDBY);
                                                                 telemetry[0]=0xB0;
                                                                 telemetry[1]=tc[0];    
                                                                 telemetry[2]=0xC0;//ack_code for this case