forked from espressif/arduino-esp32
-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy patheeprom_class.ino
86 lines (76 loc) · 2.06 KB
/
eeprom_class.ino
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
78
79
80
81
82
83
84
85
86
/*
ESP32 eeprom_class example with EEPROM library
This simple example demonstrates using EEPROM library to store different data in
ESP32 Flash memory in a multiple user-defined EEPROM class objects.
Created for arduino-esp32 on 25 Dec, 2017
by Elochukwu Ifediora (fedy0)
converted to nvs by lbernstone - 06/22/2019
*/
#include "EEPROM.h"
// Instantiate eeprom objects with parameter/argument names and sizes
EEPROMClass NAMES("eeprom0");
EEPROMClass HEIGHT("eeprom1");
EEPROMClass AGE("eeprom2");
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("Testing EEPROMClass\n");
if (!NAMES.begin(0x500)) {
Serial.println("Failed to initialize NAMES");
Serial.println("Restarting...");
delay(1000);
ESP.restart();
}
if (!HEIGHT.begin(0x200)) {
Serial.println("Failed to initialize HEIGHT");
Serial.println("Restarting...");
delay(1000);
ESP.restart();
}
if (!AGE.begin(0x100)) {
Serial.println("Failed to initialize AGE");
Serial.println("Restarting...");
delay(1000);
ESP.restart();
}
const char *name = "Teo Swee Ann";
char rname[32];
double height = 5.8;
uint32_t age = 47;
// Write: Variables ---> EEPROM stores
NAMES.writeString(0, name);
HEIGHT.put(0, height);
AGE.put(0, age);
Serial.print("name: ");
Serial.println(name);
Serial.print("height: ");
Serial.println(height);
Serial.print("age: ");
Serial.println(age);
Serial.println("------------------------------------\n");
// Clear variables
rname[0] = '\0';
height = 0;
age = 0;
Serial.print("name: ");
Serial.println(rname);
Serial.print("height: ");
Serial.println(height);
Serial.print("age: ");
Serial.println(age);
Serial.println("------------------------------------\n");
// Read: Variables <--- EEPROM stores
NAMES.get(0, rname);
HEIGHT.get(0, height);
AGE.get(0, age);
Serial.print("name: ");
Serial.println(rname);
Serial.print("height: ");
Serial.println(height);
Serial.print("age: ");
Serial.println(age);
Serial.println("Done!");
}
void loop() {
delay(0xFFFFFFFF);
}