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: main.cpp
- Revision:
- 27:61c856be467e
- Parent:
- 22:950dbe9fbeb8
- Child:
- 33:76f2b8735501
--- 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