8000 Create demo.ino · GyverLibs/FileData@9012f2e · GitHub
[go: up one dir, main page]

Skip to content

Commit 9012f2e

Browse files
committed
Create demo.ino
1 parent a837bac commit 9012f2e

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

examples/demo/demo.ino

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#include <Arduino.h>
2+
#include <FileData.h>
3+
#include <LittleFS.h>
4+
5+
struct Data {
6+
uint8_t val8;
7+
uint16_t val16;
8+
uint32_t val32 = 12345;
9+
char str[20];
10+
};
11+
Data mydata;
12+
13+
FileData data(&LittleFS, "/data.dat", 'B', &mydata, sizeof(mydata));
14+
15+
void setup() {
16+
Serial.begin(115200);
17+
delay(1000);
18+
Serial.println();
19+
20+
LittleFS.begin();
21+
22+
// прочитать данные из файла в переменную
23+
// при первом запуске в файл запишутся данные из структуры
24+
FDstat_t stat = data.read();
25+
26+
switch (stat) {
27+
case FD_FS_ERR: Serial.println("FS Error");
28+
break;
29+
case FD_FILE_ERR: Serial.println("Error");
30+
break;
31+
case FD_WRITE: Serial.println("Data Write");
32+
break;
33+
case FD_ADD: Serial.println("Data Add");
34+
break;
35+
case FD_READ: Serial.println("Data Read");
36+
break;
37+
default:
38+
break;
39+
}
40+
41+
Serial.println("Data read:");
42+
Serial.println(mydata.val8);
43+
Serial.println(mydata.val16);
44+
Serial.println(mydata.val32);
45+
Serial.println(mydata.str);
46+
}
47+
48+
void loop() {
49+
// data.tick(); // вызывать тикер в loop
50+
51+
// можно отловить момент записи
52+
if (data.tick() == FD_WRITE) Serial.println("Data updated!");
53+
54+
// запишем в данные строку из монитора порта
55+
// а также присвоим остальным переменным случайные значения
56+
if (Serial.available()) {
57+
int len = Serial.readBytes(mydata.str, 20);
58+
mydata.str[len] = '\0';
59+
mydata.val8 = random(255);
60+
mydata.val16 = random(65000);
61+
Serial.println("Update");
62+
63+
// отложить обновление
64+
data.update();
65+
}
66+
}

0 commit comments

Comments
 (0)
0