Latest FM Code with EEPROM
Dependencies: FreescaleIAP SimpleDMA eeprom mbed-rtos mbed
Fork of CDMS_QM_03MAR2017_Flash_with_obsrs by
EEPROM.h@351:a89a46894ec0, 2017-01-22 (annotated)
- Committer:
- chaithanyarss
- Date:
- Sun Jan 22 04:47:11 2017 +0000
- Revision:
- 351:a89a46894ec0
- Child:
- 352:022c513aee03
EERPOM and BCN done
Who changed what in which revision?
User | Revision | Line number | New 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); |
chaithanyarss | 351:a89a46894ec0 | 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}; |
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 | { |
chaithanyarss | 351:a89a46894ec0 | 37 | int32_t test_buffer; |
chaithanyarss | 351:a89a46894ec0 | 38 | e2prom.ready(); |
chaithanyarss | 351:a89a46894ec0 | 39 | e2prom.read(2,test_buffer); |
chaithanyarss | 351:a89a46894ec0 | 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 | } |
chaithanyarss | 351:a89a46894ec0 | 48 | |
chaithanyarss | 351:a89a46894ec0 | 49 | gPC.printf("Reading intial parametrs from flash\n"); |
chaithanyarss | 351:a89a46894ec0 | 50 | EPS_V_A_EN_STATUS = READ_FROM_EERPOM(0); |
chaithanyarss | 351:a89a46894ec0 | 51 | BAE_STATUS = READ_FROM_EERPOM(1); |
chaithanyarss | 351:a89a46894ec0 | 52 | SD_STATUS = READ_FROM_EERPOM(2); |
chaithanyarss | 351:a89a46894ec0 | 53 | PL_STATUS = READ_FROM_EERPOM(3); |
chaithanyarss | 351:a89a46894ec0 | 54 | PL_EPS_LATCH_SW_EN = READ_FROM_EERPOM(4); |
chaithanyarss | 351:a89a46894ec0 | 55 | RTC_INIT_STATUS = READ_FROM_EERPOM(5); |
chaithanyarss | 351:a89a46894ec0 | 56 | CDMS_RTC_DISABLE = READ_FROM_EERPOM(6); |
chaithanyarss | 351:a89a46894ec0 | 57 | CDMS_RESET_COUNTER = READ_FROM_EERPOM(7); |
chaithanyarss | 351:a89a46894ec0 | 58 | TIME_LATEST_CDSMS_RESET = READ_FROM_EERPOM(8); |
chaithanyarss | 351:a89a46894ec0 | 59 | COM_TC_BYTES_LIMIT = READ_FROM_EERPOM(9); |
chaithanyarss | 351:a89a46894ec0 | 60 | COM_RX_CURRENT_MAX = READ_FROM_EERPOM(10); |
chaithanyarss | 351:a89a46894ec0 | 61 | COM_RX_DISABLE_TIMEOUT = READ_FROM_EERPOM(11); |
chaithanyarss | 351:a89a46894ec0 | 62 | COM_PA_TMP_HIGH = READ_FROM_EERPOM(12); |
chaithanyarss | 351:a89a46894ec0 | 63 | COM_PA_RECOVERY_TIMEOUT = READ_FROM_EERPOM(13); |
chaithanyarss | 351:a89a46894ec0 | 64 | COM_SESSION_TIMEOUT = READ_FROM_EERPOM(14); |
chaithanyarss | 351:a89a46894ec0 | 65 | COM_RSSI_MIN = READ_FROM_EERPOM(15); |
chaithanyarss | 351:a89a46894ec0 | 66 | SD_LIB_BLK_CURRENT = READ_FROM_EERPOM(16); |
chaithanyarss | 351:a89a46894ec0 | 67 | } |
chaithanyarss | 351:a89a46894ec0 | 68 | |
chaithanyarss | 351:a89a46894ec0 | 69 | #endif |