
CDMS code for testing sbc
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE by
Diff: Flash.h
- Revision:
- 216:570251b23c7b
- Parent:
- 52:0bd68655c651
- Child:
- 218:c63cdba0550f
--- a/Flash.h Sun Jul 03 09:26:42 2016 +0000 +++ b/Flash.h Sun Jul 03 09:47:05 2016 +0000 @@ -4,6 +4,70 @@ uint32_t flasharray[256+(3*1024)]; char *nativeflash = (char*)strt_add; +/*Initiation of Flash*/ +void FLASH_INIT() +{ + uint32_t read[8]; + for(int i=0;i<8;i++) + { + read[i] = FCTN_CDMS_RD_FLASH(i); + //printf("\n\r val is read after starting %x ",read[i]); + } + + if(read[0] == -1) + for(int j=0;j<8;j++) + { + FCTN_CDMS_WR_FLASH(j,ARR_INITIAL_VAL[j]); + } + else + { + for(int j=0;j<8;j++) + { + read[j] = FCTN_CDMS_RD_FLASH(j); + } + 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] + + //updating the reset counter + BAE_RESET_COUNTER = ((uint8_t)(read[0]))+1; + read[0]=(read[0]&0xffffff00) | (uint32_t)BAE_RESET_COUNTER; + FCTN_CDMS_WR_FLASH(0,read[0]); + + + EPS_SOC_LEVEL_12 = (uint8_t)(read[1]>>24); + EPS_SOC_LEVEL_23 = (uint8_t)(read[1]>>16); + ACS_MAG_TIME_DELAY = (uint8_t)(read[1]>>8); + ACS_DEMAG_TIME_DELAY = (uint8_t)read[1]; + + EPS_BAT_TEMP_LOW = (uint8_t)(read[2]>>24); + EPS_BAT_TEMP_HIGH = (uint8_t)(read[2]>>16); + EPS_BAT_TEMP_DEFAULT = (uint8_t)(read[2]>>8); + + ACS_MM_X_COMSN = (uint16_t)(read[3]>>16); + ACS_MM_Y_COMSN = (uint16_t)read[3]; + + ACS_MG_X_COMSN = (uint16_t)(read[4]>>16); + ACS_MG_Y_COMSN = (uint16_t)read[4]; + + ACS_MM_Z_COMSN = (uint16_t)(read[5]>>16); + ACS_MG_Z_COMSN = (uint16_t)read[5]; + + ACS_Z_FIXED_MOMENT = (uint16_t)(read[6]>>16);//assignvalues + + } + +} + + /*Writing to the Flash*/ void FCTN_CDMS_WR_FLASH(uint16_t j,uint32_t block) { @@ -15,7 +79,6 @@ erase_sector(strt_add); program_flash(strt_add, (char*)&flasharray,4*(256+(1024*3))); } -/*End*/ /*Reading from Flash*/ uint32_t FCTN_CDMS_RD_FLASH(uint16_t j)