main/config.c

changeset 101
1bc6e9263ada
parent 95
c02e12e9c884
child 103
1885d0c75c48
--- a/main/config.c	Thu Jun 17 13:58:13 2021 +0200
+++ b/main/config.c	Sat Jun 19 20:46:42 2021 +0200
@@ -122,6 +122,9 @@
 	equipment.PID_kI = 2.0;
 	equipment.PID_kD = 1.5;
 	equipment.SampleTime = 3000;
+	equipment.Hendi = false;
+	equipment.RampPower = 100;
+	equipment.Max_watt = 3000;
 	bytes = fwrite(dst, 1, sizeof(equipment), f);
 	fclose(f);
     } else {
@@ -136,34 +139,39 @@
             fclose(f);
             return;
         }
-#if 0
+#if 1
 	if (equipment_hdr.version < EQUIPMENT_VERSION) {
+	    uint32_t	oldsize = equipment_hdr.recsize;
 	    FILE	*nf = fopen("/spiffs/etc/equipments.new", "w");
 
             ESP_LOGW(TAG, "/spiffs/etc/equipments.conf version %d, new %d", equipment_hdr.version, EQUIPMENT_VERSION);
 	    dst = (uint8_t*)&equipment_hdr;
             memset(dst, 0, sizeof(equipment_hdr));
+	    // Update the header with new sizes
             equipment_hdr.version = EQUIPMENT_VERSION;
             equipment_hdr.hdrsize = sizeof(equipment_hdr);
             equipment_hdr.recsize = sizeof(equipment);
             bytes = fwrite(dst, 1, sizeof(equipment_hdr), nf);
 
-            fseek(f, 0, SEEK_SET);
-            dst = (uint8_t*)&recipe;
-            while ((bytes = fread(dst, 1, equipment_hdr.recsize, f))) {
+            dst = (uint8_t*)&equipment;
+            while ((bytes = fread(dst, 1, oldsize, f))) {
                 // Upgrade data here
+		equipment.Hendi = false;
+		equipment.RampPower = equipment.BoilPower;
+		equipment.Max_watt = 3000;
                 bytes = fwrite(dst, 1, sizeof(equipment), nf);
                 if (bytes != sizeof(equipment)) {
                     ESP_LOGE(TAG, "/spiffs/etc/equipments.new write data, %d/%d bytes", bytes, sizeof(equipment));
                 }
             }
-            // Update the header with new sizes
             fclose(nf);
             fclose(f);
             rename("/spiffs/etc/equipments.conf", "/spiffs/etc/equipments.old");
             rename("/spiffs/etc/equipments.new", "/spiffs/etc/equipments.conf");
             unlink("/spiffs/etc/equipments.old");
 	    f = fopen("/spiffs/etc/equipments.conf", "r");
+	    dst = (uint8_t*)&equipment_hdr;
+	    fread(dst, 1, sizeof(equipment_hdr), f);
 	}
 #endif
 	dst = (uint8_t*)&equipment;

mercurial