4#include <Preferences.h>
16 static const char* PREFS_NAMESPACE;
17 static const char* CALIBRATION_KEY;
18 static const char* CALIBRATION_FILE;
30 return prefs.begin(PREFS_NAMESPACE,
false);
39 String json = data.
toJSON();
42 bool prefsOk = prefs.putString(CALIBRATION_KEY, json);
45 bool fileOk = saveToFile(json);
47 return prefsOk && fileOk;
57 String json = prefs.getString(CALIBRATION_KEY,
"");
61 json = loadFromFile();
75 return prefs.isKey(CALIBRATION_KEY) || LittleFS.exists(CALIBRATION_FILE);
82 prefs.remove(CALIBRATION_KEY);
84 if (LittleFS.exists(CALIBRATION_FILE)) {
85 LittleFS.remove(CALIBRATION_FILE);
97 File file = LittleFS.open(filename,
"w");
102 String json = data.
toJSON();
103 size_t written = file.print(json);
115 if (!LittleFS.exists(filename)) {
119 File file = LittleFS.open(filename,
"r");
124 String json = file.readString();
134 bool saveToFile(
const String& json) {
135 File file = LittleFS.open(CALIBRATION_FILE,
"w");
140 size_t written = file.print(json);
149 String loadFromFile() {
150 if (!LittleFS.exists(CALIBRATION_FILE)) {
154 File file = LittleFS.open(CALIBRATION_FILE,
"r");
159 String json = file.readString();
167const char* CalibrationStorage::PREFS_NAMESPACE =
"calibration";
168const char* CalibrationStorage::CALIBRATION_KEY =
"sensor_cal";
169const char* CalibrationStorage::CALIBRATION_FILE =
"/calibration.json";
Структуры данных для системы калибровки датчиков
Definition calibration_storage.h:14
bool init()
Инициализация хранилища
Definition calibration_storage.h:29
~CalibrationStorage()=default
bool load(SensorCalibrationData &data)
Загрузка калибровочных данных
Definition calibration_storage.h:55
bool save(const SensorCalibrationData &data)
Сохранение калибровочных данных
Definition calibration_storage.h:38
bool importFromFile(const String &filename, SensorCalibrationData &data)
Импорт калибровочных данных из файла
Definition calibration_storage.h:114
bool clear()
Очистка всех сохраненных данных
Definition calibration_storage.h:81
bool exportToFile(const String &filename, const SensorCalibrationData &data)
Экспорт калибровочных данных в файл
Definition calibration_storage.h:96
CalibrationStorage()=default
bool hasData()
Проверка наличия сохраненных данных
Definition calibration_storage.h:74
Полная калибровка датчика
Definition calibration_data.h:113
bool fromJSON(const String &json)
Десериализация из JSON.
Definition calibration_data.h:240
String toJSON() const
Сериализация в JSON.
Definition calibration_data.h:162