main/config.c

changeset 120
afd58d4c7b5b
parent 119
1cef3c25426b
child 121
30aca5888d2b
equal deleted inserted replaced
119:1cef3c25426b 120:afd58d4c7b5b
65 65
66 66
67 67
68 void append_equipment() 68 void append_equipment()
69 { 69 {
70 return;
71 uint8_t *dst = (uint8_t *)&equipment; 70 uint8_t *dst = (uint8_t *)&equipment;
72 FILE *f = fopen("/spiffs/etc/equipments.conf", "a"); 71 FILE *f = fopen("/spiffs/etc/equipments.conf", "a");
73 72
74 if (f == NULL) { 73 if (f == NULL) {
75 ESP_LOGE(TAG, "append /spiffs/etc/equipments.conf failed"); 74 ESP_LOGE(TAG, "/spiffs/etc/equipments.conf append failed");
76 return; 75 return;
77 } 76 }
78 77
79 size_t bytes = fwrite(dst, 1, equipment_hdr.recsize, f); 78 size_t bytes = fwrite(dst, 1, equipment_hdr.recsize, f);
80 fclose(f); 79 fclose(f);
81 ESP_LOGI(TAG, "/spiffs/etc/equipments.conf appended %d bytes", bytes); 80 ESP_LOGI(TAG, "/spiffs/etc/equipments.conf appended %d bytes", bytes);
82 } 81 }
83 82
179 bytes = fread(dst, 1, equipment_hdr.recsize, f); 178 bytes = fread(dst, 1, equipment_hdr.recsize, f);
180 fclose(f); 179 fclose(f);
181 if (bytes != equipment_hdr.recsize) { 180 if (bytes != equipment_hdr.recsize) {
182 ESP_LOGE(TAG, "/spiffs/etc/equipments.conf read record %d, %d/%d bytes", RecNo, bytes, equipment_hdr.recsize); 181 ESP_LOGE(TAG, "/spiffs/etc/equipments.conf read record %d, %d/%d bytes", RecNo, bytes, equipment_hdr.recsize);
183 } else { 182 } else {
184 ESP_LOGD(TAG, "/spiffs/etc/equipments.conf read %d bytes, record %d: %s", bytes, RecNo, equipment.Name); 183 ESP_LOGI(TAG, "/spiffs/etc/equipments.conf read %d bytes, record %d: %s", bytes, RecNo, equipment.Name);
185 } 184 }
186 } 185 }
187 } 186 }
188 187
189 188
193 uint8_t *dst = (uint8_t *)&equipment; 192 uint8_t *dst = (uint8_t *)&equipment;
194 FILE *f; 193 FILE *f;
195 194
196 f = fopen("/spiffs/etc/equipments.conf", "r+"); 195 f = fopen("/spiffs/etc/equipments.conf", "r+");
197 if (f == NULL) { 196 if (f == NULL) {
198 ESP_LOGE(TAG, "write /spiffs/etc/equipments.conf failed"); 197 ESP_LOGE(TAG, "/spiffs/etc/equipments.conf write failed");
199 return; 198 return;
200 } 199 }
201 fseek(f, (RecNo - 1) * equipment_hdr.recsize + equipment_hdr.hdrsize, SEEK_SET); 200 fseek(f, (RecNo - 1) * equipment_hdr.recsize + equipment_hdr.hdrsize, SEEK_SET);
202 size_t bytes = fwrite(dst, 1, equipment_hdr.recsize, f); 201 size_t bytes = fwrite(dst, 1, equipment_hdr.recsize, f);
203 fclose(f); 202 fclose(f);
209 208
210 209
211 210
212 void delete_equipment(int RecNo) 211 void delete_equipment(int RecNo)
213 { 212 {
214 return;
215 int RecRead = 1, RecWrite = 1; 213 int RecRead = 1, RecWrite = 1;
216 FILE *n, *o; 214 FILE *n, *o;
217 uint8_t *dst; 215 uint8_t *dst;
218 size_t bytes; 216 size_t bytes;
219 217
220 n = fopen("/spiffs/etc/equipments.new", "a"); 218 n = fopen("/spiffs/etc/equipments.new", "a");
221 if (n == NULL) { 219 if (n == NULL) {
222 ESP_LOGE(TAG, "cannot create /spiffs/etc/equipments.new"); 220 ESP_LOGE(TAG, "/spiffs/etc/equipments.new create error");
223 return; 221 return;
224 } 222 }
225 o = fopen("/spiffs/etc/equipments.conf", "r"); 223 o = fopen("/spiffs/etc/equipments.conf", "r");
226 if (o == NULL) { 224 if (o == NULL) {
227 ESP_LOGE(TAG, "cannot open spiffs/etc/equipments.conf for reading"); 225 ESP_LOGE(TAG, "/spiffs/etc/equipments.conf open error");
228 fclose(n); 226 fclose(n);
227 unlink("/spiffs/etc/equipments.new");
229 return; 228 return;
230 } 229 }
231 230
232 dst = (uint8_t*)&equipment_hdr; 231 dst = (uint8_t*)&equipment_hdr;
233 fread(dst, 1, equipment_hdr.hdrsize, o); 232 fread(dst, 1, equipment_hdr.hdrsize, o);
255 fclose(n); 254 fclose(n);
256 255
257 rename("/spiffs/etc/equipments.conf", "/spiffs/etc/equipments.old"); 256 rename("/spiffs/etc/equipments.conf", "/spiffs/etc/equipments.old");
258 rename("/spiffs/etc/equipments.new", "/spiffs/etc/equipments.conf"); 257 rename("/spiffs/etc/equipments.new", "/spiffs/etc/equipments.conf");
259 unlink("/spiffs/etc/equipments.old"); 258 unlink("/spiffs/etc/equipments.old");
260 ESP_LOGI(TAG, "Deleted equipment %d", RecNo); 259 ESP_LOGI(TAG, "Deleted equipment %d, %d left", RecNo, RecWrite - 1);
261 } 260 }
262 261
263 262
264 263
265 int add_station(uint8_t *SSID, uint8_t *Password) 264 int add_station(uint8_t *SSID, uint8_t *Password)

mercurial