Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of workinQM_5thJan_azad by
Diff: TCTM.cpp
- 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