OSDN Git Service

[v2.0][Schematic] Change coil T80-#2 to T80-#4, backport of v1.0.
[openi2cradio/OpenI2CRadio.git] / eepromutil.c
index 62dfb85..bea80a3 100644 (file)
@@ -115,7 +115,7 @@ char load_frequencies(unsigned int page, unsigned char check_only)
 //    if(addr > 0x0fff) return -1; // Address error
     if(page > USER_MEMORY_BANKS) return -1; // Address Error
     p = &freqset_temp;
-    c = i2c_eeprom_burstread(0xa0, addr, (unsigned char *)p, sizeof(__freqset_t));
+    c = i2c_eeprom_burstread(I2CEEPROM_ADDR, addr, (unsigned char *)p, sizeof(__freqset_t));
     // Pass 1 Read OK?
     if(c == 0x00) return -2;
     // Pass 1 check magic
@@ -154,7 +154,7 @@ void save_frequencies(void)
     sum = calcsum_frequencies(&freqset, 0xa5a5);
     freqset.checksum = sum;
     // Pass 1 write to rom.
-    c = i2c_eeprom_burstwrite(0xa0, addr, (unsigned char *)p, sizeof(__freqset_t));
+    c = i2c_eeprom_burstwrite(I2CEEPROM_ADDR, addr, (unsigned char *)p, sizeof(__freqset_t));
     return;
 }
 
@@ -174,7 +174,7 @@ void format_frequencies(unsigned int page)
     sum = calcsum_frequencies(&freqset_temp, 0xa5a5);
     freqset_temp.checksum = sum;
 
-    i = i2c_eeprom_burstwrite(0xa0, (page << 7)+ 512, (unsigned char *)(&freqset_temp), sizeof(__freqset_t));
+    i = i2c_eeprom_burstwrite(I2CEEPROM_ADDR, (page << 7)+ 512, (unsigned char *)(&freqset_temp), sizeof(__freqset_t));
 }
 
 void check_frequencies(void)
@@ -223,6 +223,19 @@ unsigned char load_eeprom(void)
 /*
  * Check eeprom, and format/restore.
  */
+static void check_eeprom_sub(void)
+{
+ _CLS();
+ _LOCATE(0,0);
+ printstr("Formatting...  ");
+ format_eeprom(2,250);
+ _LOCATE(0,0);
+ printstr("Save defaults  ");
+ setdefault();
+ save_eeprom();
+}
+
+
 void check_eeprom(void)
 {
     unsigned char c;
@@ -231,27 +244,12 @@ void check_eeprom(void)
         case 0x01: // No magic-word
             idle_time_ms(2000);
             c = printhelp_2lines("EEPROM FORMAT", "Press any key");
-            _CLS();
-            _LOCATE(0,0);
-            printstr("Formatting...  ");
-            format_eeprom(2,250);
-            _LOCATE(0,0);
-            printstr("Save defaults  ");
-            setdefault();
-            save_eeprom();
+            check_eeprom_sub();
             break;
         case 0x00: // Checksum error
            idle_time_ms(2000);
             c = printhelp_2lines("X-) Sum error", "Press any key");
-            c = pollkey_single();
-            _CLS();
-            _LOCATE(0,0);
-            printstr("Formatting...");
-            format_eeprom(2,250);
-            _LOCATE(0,0);
-            printstr("Save defaults");
-            setdefault();
-            save_eeprom();
+            check_eeprom_sub();
             break;
         case 0xff: // Success
             check_frequencies();