Latest FM Code with EEPROM

Dependencies:   FreescaleIAP SimpleDMA eeprom mbed-rtos mbed

Fork of CDMS_QM_03MAR2017_Flash_with_obsrs by Team Fox

Committer:
samp1234
Date:
Sat Feb 24 10:28:56 2018 +0000
Revision:
356:4484bf39526f
EEPROM FM

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samp1234 356:4484bf39526f 1 #ifndef EEPROM_H
samp1234 356:4484bf39526f 2 #define EEPROM_H
samp1234 356:4484bf39526f 3
samp1234 356:4484bf39526f 4 #define ee_scl PIN86
samp1234 356:4484bf39526f 5 #define ee_sda PIN87
samp1234 356:4484bf39526f 6 #define check 10
samp1234 356:4484bf39526f 7
samp1234 356:4484bf39526f 8 EEPROM e2prom(ee_sda, ee_scl, 0, EEPROM::T24C512);
samp1234 356:4484bf39526f 9 int32_t INITIAL_EEPROM[32] = {1,1,1,1,1,0,0,0,0,35001,0xff,300,85,20,20,3,80000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
samp1234 356:4484bf39526f 10 uint32_t flasharray_thres[32];
samp1234 356:4484bf39526f 11
samp1234 356:4484bf39526f 12 void WRITE_TO_EEPROM(uint32_t address, int32_t data_block)
samp1234 356:4484bf39526f 13 {
samp1234 356:4484bf39526f 14 e2prom.write(address*4+10,data_block);
samp1234 356:4484bf39526f 15 }
samp1234 356:4484bf39526f 16
samp1234 356:4484bf39526f 17 void THRES_WRITE_TO_EEPROM(uint16_t mid, uint32_t* thres_data)
samp1234 356:4484bf39526f 18 {
samp1234 356:4484bf39526f 19 int8_t data[128];
samp1234 356:4484bf39526f 20 memcpy(data,&thres_data,128);
samp1234 356:4484bf39526f 21
samp1234 356:4484bf39526f 22 if(mid <11 & mid >1)
samp1234 356:4484bf39526f 23 {
samp1234 356:4484bf39526f 24 e2prom.write((uint32_t)(mid-1)*128,data,128);
samp1234 356:4484bf39526f 25 }
samp1234 356:4484bf39526f 26 }
samp1234 356:4484bf39526f 27
samp1234 356:4484bf39526f 28 void THRES_READ_FROM_EEPROM(uint16_t mid, uint32_t* thres_data)
samp1234 356:4484bf39526f 29 {
samp1234 356:4484bf39526f 30 int8_t data[128];
samp1234 356:4484bf39526f 31 if(mid <11 & mid >1)
samp1234 356:4484bf39526f 32 {
samp1234 356:4484bf39526f 33 e2prom.read((uint32_t)(mid-1)*128,data,128);
samp1234 356:4484bf39526f 34 memcpy(&thres_data,data,128);
samp1234 356:4484bf39526f 35 }
samp1234 356:4484bf39526f 36 }
samp1234 356:4484bf39526f 37
samp1234 356:4484bf39526f 38 uint32_t READ_FROM_EERPOM(uint32_t address)
samp1234 356:4484bf39526f 39 {
samp1234 356:4484bf39526f 40 int32_t data;
samp1234 356:4484bf39526f 41 e2prom.read(address*4+10, data);
samp1234 356:4484bf39526f 42 return (uint32_t)data;
samp1234 356:4484bf39526f 43 }
samp1234 356:4484bf39526f 44
samp1234 356:4484bf39526f 45 void INIT_EEPROM()
samp1234 356:4484bf39526f 46 {
samp1234 356:4484bf39526f 47 int32_t test_buffer;
samp1234 356:4484bf39526f 48 e2prom.ready();
samp1234 356:4484bf39526f 49 e2prom.read(2,test_buffer);
samp1234 356:4484bf39526f 50 if(test_buffer == 0)
samp1234 356:4484bf39526f 51 {
samp1234 356:4484bf39526f 52 for(int i=0;i<32;i++)
samp1234 356:4484bf39526f 53 WRITE_TO_EEPROM( i, INITIAL_EEPROM[i]);
samp1234 356:4484bf39526f 54
samp1234 356:4484bf39526f 55 e2prom.write(2,1);
samp1234 356:4484bf39526f 56 gPC.printf("starting flash");
samp1234 356:4484bf39526f 57 }
samp1234 356:4484bf39526f 58
samp1234 356:4484bf39526f 59 gPC.printf("I happen only once right??\n");
samp1234 356:4484bf39526f 60 EPS_V_A_EN_STATUS = READ_FROM_EERPOM(0);
samp1234 356:4484bf39526f 61 BAE_STATUS = READ_FROM_EERPOM(1);
samp1234 356:4484bf39526f 62 SD_STATUS = READ_FROM_EERPOM(2);
samp1234 356:4484bf39526f 63 PL_STATUS = READ_FROM_EERPOM(3);
samp1234 356:4484bf39526f 64 PL_BEE_SW_STATUS = READ_FROM_EERPOM(4);
samp1234 356:4484bf39526f 65 RTC_INIT_STATUS = READ_FROM_EERPOM(5);
samp1234 356:4484bf39526f 66 CDMS_RTC_DISABLE = READ_FROM_EERPOM(6);
samp1234 356:4484bf39526f 67 CDMS_RESET_COUNTER = READ_FROM_EERPOM(7);
samp1234 356:4484bf39526f 68 TIME_LATEST_CDSMS_RESET = READ_FROM_EERPOM(8);
samp1234 356:4484bf39526f 69 COM_TC_BYTES_LIMIT = READ_FROM_EERPOM(9);
samp1234 356:4484bf39526f 70 COM_RX_CURRENT_MAX = READ_FROM_EERPOM(10);
samp1234 356:4484bf39526f 71 COM_RX_DISABLE_TIMEOUT = READ_FROM_EERPOM(11);
samp1234 356:4484bf39526f 72 COM_PA_TMP_HIGH = READ_FROM_EERPOM(12);
samp1234 356:4484bf39526f 73 COM_PA_RECOVERY_TIMEOUT = READ_FROM_EERPOM(13);
samp1234 356:4484bf39526f 74 COM_SESSION_TIMEOUT = READ_FROM_EERPOM(14);
samp1234 356:4484bf39526f 75 COM_RSSI_MIN = READ_FROM_EERPOM(15);
samp1234 356:4484bf39526f 76 SD_LIB_BLK_CURRENT = READ_FROM_EERPOM(16);
samp1234 356:4484bf39526f 77 }
samp1234 356:4484bf39526f 78
samp1234 356:4484bf39526f 79 #endif