-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathread_save.cpp
77 lines (68 loc) · 2.33 KB
/
read_save.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <Arduino.h>
#include "constants.h"
#include "read_save.h"
#include "FS.h"
#include <ArduinoJson.h>
void save_spiffs_prefs(int json_bClock, int json_timeZone, int json_DayLightSavingTime, int json_bProgrammi, float json_setpoint, int json_SensoreAttivo, int json_NumeroValvole) {
SPIFFS.begin();
StaticJsonBuffer<200> jsonBuffer;
JsonObject& root = jsonBuffer.createObject();
root["Orologio"] = json_bClock;
root["Tzone"] = json_timeZone;
root["DayLightSavingTime"] = json_DayLightSavingTime;
root["Programmi"] = json_bProgrammi;
root["Setpoint"] = json_setpoint;
root["SensoreAttivo"] = json_setpoint;
root["NumeroValvole"] = json_setpoint;
Serial.print("Ecco i dati in json: ");
root.printTo(Serial);
char buffer[256];
root.printTo(buffer, sizeof(buffer));
//Serial.println();
// open file for writing
File ssi_spiffs = SPIFFS.open("/ssi_settings.json", "w");
if (!ssi_spiffs) {
Serial.println("ssi_settings.json open failed");
}
//qui salvo il buffer su file
ssi_spiffs.println(buffer);
Serial.print("Salvo in SPIFFS il buffer con i settings :"); Serial.println(buffer);
delay(1);
//chiudo il file
ssi_spiffs.close();
}
int read_spiffs_prefs(const char* valuedaleggere) {
File ssi_spiffs_inlettura = SPIFFS.open("/ssi_settings.json", "r");
if (!ssi_spiffs_inlettura) {
Serial.println("ssi_settings.json open failed");
return 0;
}
String risultato = ssi_spiffs_inlettura.readStringUntil('\n');
//Serial.print("Ho letto dal file : ");Serial.println(risultato);
char json[200];
risultato.toCharArray(json, 200);
//Serial.print("Ecco l'array json convertito: ");Serial.println(json);
StaticJsonBuffer<200> jsonBuffer_inlettura;
JsonObject& root_inlettura = jsonBuffer_inlettura.parseObject(json);
if (!root_inlettura.success()) {
Serial.println("parseObject() failed");
return 0;
}
//leggo il valore e lo parso:
int risultatoparsed = root_inlettura[valuedaleggere];
#ifdef DEBUG
Serial.print("Spiffs Json parsed value of "); Serial.print(valuedaleggere); Serial.print(" :");
Serial.println(risultatoparsed);
#endif
ssi_spiffs_inlettura.close();
return risultatoparsed;
}
void spiffs_Reset() {
Serial.println("Reset SSI");
Serial.print("SPIFFS Formatting... ");
if (SPIFFS.format()) {
Serial.println("OK");
} else {
Serial.println("Fail");
}
}