working version
Dependencies: mbed mbed-rtos SimpleDMA FreescaleIAP eeprom
Fork of CDMS_CODE_FM_28JAN2017 by
EEPROM.h@353:e1803e801e20, 2017-02-21 (annotated)
- 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?
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); |
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 |