EEEE

Revision:
0:e97bf680f246
Child:
1:b1f67aa4c9ee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eepromlib.h	Wed Sep 23 07:59:38 2015 +0000
@@ -0,0 +1,105 @@
+
+#ifndef  EEPROMBUFFERSIZE 
+#define  EEPROMBUFFERSIZE   32 
+#endif
+
+char eedata[EEPROMBUFFERSIZE];
+
+void eeprom_delay(int delaytime)
+{
+  wait_ms(delaytime);
+}
+
+
+void load_eeprom()
+{
+    char ERR=0;
+    char data[3];       
+    //printf("Setting read pointer to 0\n");
+    data[0] = 0;                   // MSB address
+    data[1] = 0;                   // LSB address
+    if(Wire.write(0xA0, data, 2)) 
+    { // send address, but no data
+       // error("Write failed\n");
+       ERR+=2;
+    }    
+
+    if(Wire.read(0xA0, eedata, EEPROMBUFFERSIZE)) 
+    {
+     //error("Read failed\n");
+      ERR+=4;
+    }    
+    
+//Count Variable ...
+if (ERR==0)
+{ //transfer data to working memory
+  /*
+  TIME_SEC    = eedata[0]; 
+  TIME_dSEC   = eedata[1];
+  MODE_TD_TS  = eedata[2];
+  MODE_RANGE  = eedata[3];
+  OPTION      = eedata[4];    
+   */
+ }  
+ 
+ /*
+  DEBUG
+  char str[50];
+  sprintf (str, "%d#%d:%d:%d",ERR,eedata[0],eedata[1],eedata[2] );
+  LCDI2C4Bit_cursorTo(0,0);
+  LCDI2C4Bit_printIn(str);
+  
+  sprintf (str, "%d:%d",eedata[3],eedata[4] );
+  
+  LCDI2C4Bit_cursorTo(2,0);
+  LCDI2C4Bit_printIn(str);
+  
+  LCDI2C4Bit_backLight(true);
+  
+  while(1); 
+  */
+}    
+
+
+
+
+void save_eeprom()
+{
+char ERR=0;
+char i=0;   
+ 
+ 
+ /*
+ eedata[0] = TIME_SEC;  
+ eedata[1] = TIME_dSEC;
+ eedata[2] = MODE_TD_TS;
+ eedata[3] = MODE_RANGE;
+ eedata[4] = OPTION;
+*/
+        
+    char data[3];
+    
+    for ( i=0;i<=(EEPROMBUFFERSIZE-1);i++)
+    {
+       data[0] = 0;              // MSB address
+       data[1] = i;              // LSB address
+       data[2] = eedata[i];      // data
+     
+       if(Wire.write(0xA0, data, 3)) 
+       {
+         //error("Write failed\n");
+         ERR+=1;
+        }
+        //delay(75);
+     
+        while(Wire.write(0xA0, NULL, 0))
+        { // wait to complete , this may cause system hang!!
+          
+     
+        }     
+        eeprom_delay(42); ////delay for EEPROM 40 ms OK
+     
+    }
+        
+   
+}