for frequency correction testing
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE by
Flash.h@211:6848a51af734, 2016-07-03 (annotated)
- Committer:
- chaithanyarss
- Date:
- Sun Jul 03 09:33:33 2016 +0000
- Revision:
- 211:6848a51af734
- Parent:
- 52:0bd68655c651
- Child:
- 217:c63cdba0550f
Reset CDMS added;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aniruddhv | 52:0bd68655c651 | 1 | #include "FreescaleIAP.h" |
aniruddhv | 52:0bd68655c651 | 2 | |
aniruddhv | 52:0bd68655c651 | 3 | int strt_add = flash_size() - (4*SECTOR_SIZE); |
aniruddhv | 52:0bd68655c651 | 4 | uint32_t flasharray[256+(3*1024)]; |
aniruddhv | 52:0bd68655c651 | 5 | char *nativeflash = (char*)strt_add; |
aniruddhv | 52:0bd68655c651 | 6 | |
chaithanyarss | 211:6848a51af734 | 7 | /*Initiation of Flash*/ |
chaithanyarss | 211:6848a51af734 | 8 | void FLASH_INIT() |
chaithanyarss | 211:6848a51af734 | 9 | { |
chaithanyarss | 211:6848a51af734 | 10 | uint32_t read[8]; |
chaithanyarss | 211:6848a51af734 | 11 | for(int i=0;i<8;i++) |
chaithanyarss | 211:6848a51af734 | 12 | { |
chaithanyarss | 211:6848a51af734 | 13 | read[i] = FCTN_CDMS_RD_FLASH(i); |
chaithanyarss | 211:6848a51af734 | 14 | //printf("\n\r val is read after starting %x ",read[i]); |
chaithanyarss | 211:6848a51af734 | 15 | } |
chaithanyarss | 211:6848a51af734 | 16 | |
chaithanyarss | 211:6848a51af734 | 17 | if(read[0] == -1) |
chaithanyarss | 211:6848a51af734 | 18 | for(int j=0;j<8;j++) |
chaithanyarss | 211:6848a51af734 | 19 | { |
chaithanyarss | 211:6848a51af734 | 20 | FCTN_CDMS_WR_FLASH(j,ARR_INITIAL_VAL[j]); |
chaithanyarss | 211:6848a51af734 | 21 | } |
chaithanyarss | 211:6848a51af734 | 22 | else |
chaithanyarss | 211:6848a51af734 | 23 | { |
chaithanyarss | 211:6848a51af734 | 24 | for(int j=0;j<8;j++) |
chaithanyarss | 211:6848a51af734 | 25 | { |
chaithanyarss | 211:6848a51af734 | 26 | read[j] = FCTN_CDMS_RD_FLASH(j); |
chaithanyarss | 211:6848a51af734 | 27 | } |
chaithanyarss | 211:6848a51af734 | 28 | ACS_ATS_STATUS = read[0]>>24; |
chaithanyarss | 211:6848a51af734 | 29 | ACS_TR_XY_SW_STATUS = ((uint8_t)(read[0]>>22))&0x03; |
chaithanyarss | 211:6848a51af734 | 30 | ACS_TR_Z_SW_STATUS = (read[0]>>20)&0x03; |
chaithanyarss | 211:6848a51af734 | 31 | ACS_DETUMBLING_ALGO_TYPE = (read[0]>>19)&0x01; |
chaithanyarss | 211:6848a51af734 | 32 | ACS_STATE = (read[0]>>16)&0x07; |
chaithanyarss | 211:6848a51af734 | 33 | BCN_TX_SW_STATUS = ((uint8_t)(read[0]>>14))&0x03; |
chaithanyarss | 211:6848a51af734 | 34 | BCN_SPND_TX = ((uint8_t)(read[0]>>13))&0x01; |
chaithanyarss | 211:6848a51af734 | 35 | BCN_FEN = ((uint8_t)(read[0]>>12))&0x01; |
chaithanyarss | 211:6848a51af734 | 36 | BCN_LONG_MSG_TYPE = ((uint8_t)(read[0]>>11))&0x01; |
chaithanyarss | 211:6848a51af734 | 37 | EPS_BTRY_HTR_AUTO = ((uint8_t)(read[0]>>10))&0x03;//EPS_BATTERY_HEATER_ENABLE |
chaithanyarss | 211:6848a51af734 | 38 | //now two spares in telemetry[5] |
chaithanyarss | 211:6848a51af734 | 39 | |
chaithanyarss | 211:6848a51af734 | 40 | //updating the reset counter |
chaithanyarss | 211:6848a51af734 | 41 | BAE_RESET_COUNTER = ((uint8_t)(read[0]))+1; |
chaithanyarss | 211:6848a51af734 | 42 | read[0]=(read[0]&0xffffff00) | (uint32_t)BAE_RESET_COUNTER; |
chaithanyarss | 211:6848a51af734 | 43 | FCTN_CDMS_WR_FLASH(0,read[0]); |
chaithanyarss | 211:6848a51af734 | 44 | |
chaithanyarss | 211:6848a51af734 | 45 | |
chaithanyarss | 211:6848a51af734 | 46 | EPS_SOC_LEVEL_12 = (uint8_t)(read[1]>>24); |
chaithanyarss | 211:6848a51af734 | 47 | EPS_SOC_LEVEL_23 = (uint8_t)(read[1]>>16); |
chaithanyarss | 211:6848a51af734 | 48 | ACS_MAG_TIME_DELAY = (uint8_t)(read[1]>>8); |
chaithanyarss | 211:6848a51af734 | 49 | ACS_DEMAG_TIME_DELAY = (uint8_t)read[1]; |
chaithanyarss | 211:6848a51af734 | 50 | |
chaithanyarss | 211:6848a51af734 | 51 | EPS_BAT_TEMP_LOW = (uint8_t)(read[2]>>24); |
chaithanyarss | 211:6848a51af734 | 52 | EPS_BAT_TEMP_HIGH = (uint8_t)(read[2]>>16); |
chaithanyarss | 211:6848a51af734 | 53 | EPS_BAT_TEMP_DEFAULT = (uint8_t)(read[2]>>8); |
chaithanyarss | 211:6848a51af734 | 54 | |
chaithanyarss | 211:6848a51af734 | 55 | ACS_MM_X_COMSN = (uint16_t)(read[3]>>16); |
chaithanyarss | 211:6848a51af734 | 56 | ACS_MM_Y_COMSN = (uint16_t)read[3]; |
chaithanyarss | 211:6848a51af734 | 57 | |
chaithanyarss | 211:6848a51af734 | 58 | ACS_MG_X_COMSN = (uint16_t)(read[4]>>16); |
chaithanyarss | 211:6848a51af734 | 59 | ACS_MG_Y_COMSN = (uint16_t)read[4]; |
chaithanyarss | 211:6848a51af734 | 60 | |
chaithanyarss | 211:6848a51af734 | 61 | ACS_MM_Z_COMSN = (uint16_t)(read[5]>>16); |
chaithanyarss | 211:6848a51af734 | 62 | ACS_MG_Z_COMSN = (uint16_t)read[5]; |
chaithanyarss | 211:6848a51af734 | 63 | |
chaithanyarss | 211:6848a51af734 | 64 | ACS_Z_FIXED_MOMENT = (uint16_t)(read[6]>>16);//assignvalues |
chaithanyarss | 211:6848a51af734 | 65 | |
chaithanyarss | 211:6848a51af734 | 66 | } |
chaithanyarss | 211:6848a51af734 | 67 | |
chaithanyarss | 211:6848a51af734 | 68 | } |
chaithanyarss | 211:6848a51af734 | 69 | |
chaithanyarss | 211:6848a51af734 | 70 | |
aniruddhv | 52:0bd68655c651 | 71 | /*Writing to the Flash*/ |
aniruddhv | 52:0bd68655c651 | 72 | void FCTN_CDMS_WR_FLASH(uint16_t j,uint32_t block) |
aniruddhv | 52:0bd68655c651 | 73 | { |
aniruddhv | 52:0bd68655c651 | 74 | for(int64_t i=0;i<(256+(3*1024));i++) |
aniruddhv | 52:0bd68655c651 | 75 | { |
aniruddhv | 52:0bd68655c651 | 76 | flasharray[i]=nativeflash[i]; |
aniruddhv | 52:0bd68655c651 | 77 | } |
aniruddhv | 52:0bd68655c651 | 78 | flasharray[j]=block; |
aniruddhv | 52:0bd68655c651 | 79 | erase_sector(strt_add); |
aniruddhv | 52:0bd68655c651 | 80 | program_flash(strt_add, (char*)&flasharray,4*(256+(1024*3))); |
aniruddhv | 52:0bd68655c651 | 81 | } |
aniruddhv | 52:0bd68655c651 | 82 | |
aniruddhv | 52:0bd68655c651 | 83 | /*Reading from Flash*/ |
aniruddhv | 52:0bd68655c651 | 84 | uint32_t FCTN_CDMS_RD_FLASH(uint16_t j) |
aniruddhv | 52:0bd68655c651 | 85 | { |
aniruddhv | 52:0bd68655c651 | 86 | for(int64_t i=0;i<(256+(3*1024));i++) |
aniruddhv | 52:0bd68655c651 | 87 | { |
aniruddhv | 52:0bd68655c651 | 88 | flasharray[i]=nativeflash[i]; |
aniruddhv | 52:0bd68655c651 | 89 | } |
aniruddhv | 52:0bd68655c651 | 90 | return flasharray[j]; |
aniruddhv | 52:0bd68655c651 | 91 | } |