main/config.c

changeset 101
1bc6e9263ada
parent 95
c02e12e9c884
child 103
1885d0c75c48
equal deleted inserted replaced
100:9833fd86736b 101:1bc6e9263ada
120 equipment.TempHLT = 85.0; 120 equipment.TempHLT = 85.0;
121 equipment.PID_kP = 200.0; 121 equipment.PID_kP = 200.0;
122 equipment.PID_kI = 2.0; 122 equipment.PID_kI = 2.0;
123 equipment.PID_kD = 1.5; 123 equipment.PID_kD = 1.5;
124 equipment.SampleTime = 3000; 124 equipment.SampleTime = 3000;
125 equipment.Hendi = false;
126 equipment.RampPower = 100;
127 equipment.Max_watt = 3000;
125 bytes = fwrite(dst, 1, sizeof(equipment), f); 128 bytes = fwrite(dst, 1, sizeof(equipment), f);
126 fclose(f); 129 fclose(f);
127 } else { 130 } else {
128 /* 131 /*
129 * Try to read the new header 132 * Try to read the new header
134 if (bytes != sizeof(equipment_hdr)) { 137 if (bytes != sizeof(equipment_hdr)) {
135 ESP_LOGE(TAG, "/spiffs/etc/equipments.conf read header, %d/%d bytes", bytes, sizeof(equipment_hdr)); 138 ESP_LOGE(TAG, "/spiffs/etc/equipments.conf read header, %d/%d bytes", bytes, sizeof(equipment_hdr));
136 fclose(f); 139 fclose(f);
137 return; 140 return;
138 } 141 }
139 #if 0 142 #if 1
140 if (equipment_hdr.version < EQUIPMENT_VERSION) { 143 if (equipment_hdr.version < EQUIPMENT_VERSION) {
144 uint32_t oldsize = equipment_hdr.recsize;
141 FILE *nf = fopen("/spiffs/etc/equipments.new", "w"); 145 FILE *nf = fopen("/spiffs/etc/equipments.new", "w");
142 146
143 ESP_LOGW(TAG, "/spiffs/etc/equipments.conf version %d, new %d", equipment_hdr.version, EQUIPMENT_VERSION); 147 ESP_LOGW(TAG, "/spiffs/etc/equipments.conf version %d, new %d", equipment_hdr.version, EQUIPMENT_VERSION);
144 dst = (uint8_t*)&equipment_hdr; 148 dst = (uint8_t*)&equipment_hdr;
145 memset(dst, 0, sizeof(equipment_hdr)); 149 memset(dst, 0, sizeof(equipment_hdr));
150 // Update the header with new sizes
146 equipment_hdr.version = EQUIPMENT_VERSION; 151 equipment_hdr.version = EQUIPMENT_VERSION;
147 equipment_hdr.hdrsize = sizeof(equipment_hdr); 152 equipment_hdr.hdrsize = sizeof(equipment_hdr);
148 equipment_hdr.recsize = sizeof(equipment); 153 equipment_hdr.recsize = sizeof(equipment);
149 bytes = fwrite(dst, 1, sizeof(equipment_hdr), nf); 154 bytes = fwrite(dst, 1, sizeof(equipment_hdr), nf);
150 155
151 fseek(f, 0, SEEK_SET); 156 dst = (uint8_t*)&equipment;
152 dst = (uint8_t*)&recipe; 157 while ((bytes = fread(dst, 1, oldsize, f))) {
153 while ((bytes = fread(dst, 1, equipment_hdr.recsize, f))) {
154 // Upgrade data here 158 // Upgrade data here
159 equipment.Hendi = false;
160 equipment.RampPower = equipment.BoilPower;
161 equipment.Max_watt = 3000;
155 bytes = fwrite(dst, 1, sizeof(equipment), nf); 162 bytes = fwrite(dst, 1, sizeof(equipment), nf);
156 if (bytes != sizeof(equipment)) { 163 if (bytes != sizeof(equipment)) {
157 ESP_LOGE(TAG, "/spiffs/etc/equipments.new write data, %d/%d bytes", bytes, sizeof(equipment)); 164 ESP_LOGE(TAG, "/spiffs/etc/equipments.new write data, %d/%d bytes", bytes, sizeof(equipment));
158 } 165 }
159 } 166 }
160 // Update the header with new sizes
161 fclose(nf); 167 fclose(nf);
162 fclose(f); 168 fclose(f);
163 rename("/spiffs/etc/equipments.conf", "/spiffs/etc/equipments.old"); 169 rename("/spiffs/etc/equipments.conf", "/spiffs/etc/equipments.old");
164 rename("/spiffs/etc/equipments.new", "/spiffs/etc/equipments.conf"); 170 rename("/spiffs/etc/equipments.new", "/spiffs/etc/equipments.conf");
165 unlink("/spiffs/etc/equipments.old"); 171 unlink("/spiffs/etc/equipments.old");
166 f = fopen("/spiffs/etc/equipments.conf", "r"); 172 f = fopen("/spiffs/etc/equipments.conf", "r");
173 dst = (uint8_t*)&equipment_hdr;
174 fread(dst, 1, sizeof(equipment_hdr), f);
167 } 175 }
168 #endif 176 #endif
169 dst = (uint8_t*)&equipment; 177 dst = (uint8_t*)&equipment;
170 fseek(f, (RecNo - 1) * equipment_hdr.recsize + equipment_hdr.hdrsize, SEEK_SET); 178 fseek(f, (RecNo - 1) * equipment_hdr.recsize + equipment_hdr.hdrsize, SEEK_SET);
171 bytes = fread(dst, 1, equipment_hdr.recsize, f); 179 bytes = fread(dst, 1, equipment_hdr.recsize, f);

mercurial