working version

Dependencies:   mbed mbed-rtos SimpleDMA FreescaleIAP eeprom

Fork of CDMS_CODE_FM_28JAN2017 by samp Srinivasan

Committer:
samp1234
Date:
Tue Feb 21 06:30:56 2017 +0000
Revision:
353:e1803e801e20
Parent:
352:022c513aee03
with all final changes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chaithanyarss 351:a89a46894ec0 1 #ifndef EEPROM_H
chaithanyarss 351:a89a46894ec0 2 #define EEPROM_H
chaithanyarss 351:a89a46894ec0 3
chaithanyarss 351:a89a46894ec0 4 #define ee_scl PIN86
chaithanyarss 351:a89a46894ec0 5 #define ee_sda PIN87
chaithanyarss 351:a89a46894ec0 6 #define check 10
chaithanyarss 351:a89a46894ec0 7
chaithanyarss 351:a89a46894ec0 8 EEPROM e2prom(ee_sda, ee_scl, 0, EEPROM::T24C512);
samp1234 353:e1803e801e20 9 int32_t INITIAL_EEPROM[32] = {1,1,1,1,1,0,0,0,0,35001,0xff,300,85,20,20,3,8000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
chaithanyarss 351:a89a46894ec0 10 uint32_t flasharray_thres[32];
chaithanyarss 351:a89a46894ec0 11
chaithanyarss 351:a89a46894ec0 12 void WRITE_TO_EEPROM(uint32_t address, int32_t data_block)
chaithanyarss 351:a89a46894ec0 13 {
chaithanyarss 351:a89a46894ec0 14 e2prom.write(address*4+10,data_block);
chaithanyarss 351:a89a46894ec0 15 }
chaithanyarss 351:a89a46894ec0 16
chaithanyarss 351:a89a46894ec0 17 void THRES_WRITE_TO_EEPROM(uint16_t mid, uint32_t* thres_data)
chaithanyarss 351:a89a46894ec0 18 {
chaithanyarss 351:a89a46894ec0 19 int8_t data[128];
chaithanyarss 351:a89a46894ec0 20 memcpy(data,&thres_data,128);
chaithanyarss 351:a89a46894ec0 21
chaithanyarss 351:a89a46894ec0 22 if(mid <11 & mid >1)
chaithanyarss 351:a89a46894ec0 23 {
chaithanyarss 351:a89a46894ec0 24 e2prom.write((uint32_t)(mid-1)*128,data,128);
chaithanyarss 351:a89a46894ec0 25 }
chaithanyarss 351:a89a46894ec0 26 }
chaithanyarss 351:a89a46894ec0 27
chaithanyarss 351:a89a46894ec0 28 uint32_t READ_FROM_EERPOM(uint32_t address)
chaithanyarss 351:a89a46894ec0 29 {
chaithanyarss 351:a89a46894ec0 30 int32_t data;
chaithanyarss 351:a89a46894ec0 31 e2prom.read(address*4+10, data);
chaithanyarss 351:a89a46894ec0 32 return (uint32_t)data;
chaithanyarss 351:a89a46894ec0 33 }
chaithanyarss 351:a89a46894ec0 34
chaithanyarss 351:a89a46894ec0 35 void INIT_EEPROM()
chaithanyarss 351:a89a46894ec0 36 {
samp1234 353:e1803e801e20 37 // int32_t test_buffer;
samp1234 353:e1803e801e20 38 // e2prom.ready();
samp1234 353:e1803e801e20 39 // e2prom.read(2,test_buffer);
samp1234 353:e1803e801e20 40 /* if(test_buffer == 0)
chaithanyarss 351:a89a46894ec0 41 {
chaithanyarss 351:a89a46894ec0 42 for(int i=0;i<32;i++)
chaithanyarss 351:a89a46894ec0 43 WRITE_TO_EEPROM( i, INITIAL_EEPROM[i]);
chaithanyarss 351:a89a46894ec0 44
chaithanyarss 351:a89a46894ec0 45 e2prom.write(2,1);
chaithanyarss 351:a89a46894ec0 46 gPC.printf("starting flash");
chaithanyarss 351:a89a46894ec0 47 }
samp1234 353:e1803e801e20 48 */
chaithanyarss 351:a89a46894ec0 49 gPC.printf("Reading intial parametrs from flash\n");
samp1234 352:022c513aee03 50 EPS_V_A_EN_STATUS = READ_FROM_EERPOM(0); // ok
samp1234 352:022c513aee03 51 BAE_STATUS = READ_FROM_EERPOM(1); //ok
samp1234 352:022c513aee03 52 SD_STATUS = READ_FROM_EERPOM(2); //ok
samp1234 352:022c513aee03 53 PL_STATUS = READ_FROM_EERPOM(3); //ok
samp1234 352:022c513aee03 54 PL_EPS_LATCH_SW_EN = READ_FROM_EERPOM(4); //ok
chaithanyarss 351:a89a46894ec0 55 RTC_INIT_STATUS = READ_FROM_EERPOM(5);
samp1234 353:e1803e801e20 56 CDMS_RTC_DISABLE = READ_FROM_EERPOM(6);
samp1234 353:e1803e801e20 57 EN_RTC = CDMS_RTC_DISABLE&0x01;
samp1234 352:022c513aee03 58 CDMS_RESET_COUNTER = READ_FROM_EERPOM(7); //ok
samp1234 352:022c513aee03 59 // TIME_LATEST_CDSMS_RESET = READ_FROM_EERPOM(8);
samp1234 352:022c513aee03 60 // COM_TC_BYTES_LIMIT = READ_FROM_EERPOM(9);
samp1234 352:022c513aee03 61 // COM_RX_CURRENT_MAX = READ_FROM_EERPOM(10);
samp1234 352:022c513aee03 62 // COM_RX_DISABLE_TIMEOUT = READ_FROM_EERPOM(11);
samp1234 352:022c513aee03 63 // COM_PA_TMP_HIGH = READ_FROM_EERPOM(12);
samp1234 352:022c513aee03 64 // COM_PA_RECOVERY_TIMEOUT = READ_FROM_EERPOM(13);
samp1234 352:022c513aee03 65 // COM_SESSION_TIMEOUT = READ_FROM_EERPOM(14);
samp1234 352:022c513aee03 66 // COM_RSSI_MIN = READ_FROM_EERPOM(15);
samp1234 352:022c513aee03 67 SD_LIB_BLK_CURRENT = READ_FROM_EERPOM(16);
samp1234 353:e1803e801e20 68 // added by samp
samp1234 353:e1803e801e20 69 if (CDMS_RTC_DISABLE ==0)
samp1234 353:e1803e801e20 70 {
samp1234 353:e1803e801e20 71 gCS_RTC=0;
samp1234 353:e1803e801e20 72 spi.write(0x8C); //register address with write flag
samp1234 353:e1803e801e20 73 spi.write(0x40);//enabling halt bit in the seconds register
samp1234 353:e1803e801e20 74 gCS_RTC=1;
samp1234 353:e1803e801e20 75
samp1234 353:e1803e801e20 76 }
samp1234 353:e1803e801e20 77
chaithanyarss 351:a89a46894ec0 78 }
chaithanyarss 351:a89a46894ec0 79
chaithanyarss 351:a89a46894ec0 80 #endif