-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKeyValueFlash.cpp
More file actions
65 lines (52 loc) · 1.51 KB
/
Copy pathKeyValueFlash.cpp
File metadata and controls
65 lines (52 loc) · 1.51 KB
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
/*
* KeyValueFlash.cpp
*
* Created on: Nov 12, 2018
* Author: stremblay
*/
#include "KeyValueFlash.h"
KeyValueFlash::KeyValueFlash(String configName) {
this->configFolder = "/" + configName;
KeyValueFlash();
}
KeyValueFlash::KeyValueFlash() {
SPIFFS.begin();
}
KeyValueFlash::~KeyValueFlash() {
}
void KeyValueFlash::set(String key, String value) {
String valueFileName = configFolder + "/" + key;
Serial.print("KeyValueFlash [save] : "); Serial.print(valueFileName); Serial.println(" (" + value + ")");
File f = SPIFFS.open(valueFileName, "w");
if (!f) {
// Error opening file!
Serial.print("KeyValueFlash [save] : error opening file: "); Serial.println(valueFileName);
}
f.print(value);
f.close();
}
bool KeyValueFlash::exist(String key) {
String valueFileName = configFolder + "/" + key;
return SPIFFS.exists(valueFileName);
}
String KeyValueFlash::get(String key) {
String valueFileName = configFolder + "/" + key;
Serial.print("KeyValueFlash [load] : Getting: " + valueFileName);
if (SPIFFS.exists(valueFileName)){
File valueFile = SPIFFS.open(valueFileName, "r");
if (!valueFile) {
Serial.println("KeyValueFlash [load] : error reading key file: " + valueFileName);
return "";
}
String value = valueFile.readString();
valueFile.close();
Serial.println(" -> " + value);
return value;
}
return "";
}
void KeyValueFlash::remove(String key) {
String valueFileName = configFolder + "/" + key;
Serial.println("KeyValueFlash: Removing key: " + key);
SPIFFS.remove(valueFileName);
}