78 lines
2.1 KiB
Arduino
78 lines
2.1 KiB
Arduino
|
/*
|
||
|
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 initialise NAMES");
|
||
|
Serial.println("Restarting...");
|
||
|
delay(1000);
|
||
|
ESP.restart();
|
||
|
}
|
||
|
if (!HEIGHT.begin(0x200)) {
|
||
|
Serial.println("Failed to initialise HEIGHT");
|
||
|
Serial.println("Restarting...");
|
||
|
delay(1000);
|
||
|
ESP.restart();
|
||
|
}
|
||
|
if (!AGE.begin(0x100)) {
|
||
|
Serial.println("Failed to initialise 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);
|
||
|
}
|