mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-25 04:01:41 +02:00 
			
		
		
		
	
		
			
	
	
		
			93 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
		
		
			
		
	
	
			93 lines
		
	
	
		
			2.8 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 partition (0x1000 or 4KB max size or less). | ||
|  |    | ||
|  |   Install 'ESP32 Partiton Manager' ONCE from https://github.com/francis94c/ESP32Partitions
 | ||
|  |   And generate different partitions with 'partition_name' | ||
|  |   Usage: EEPROMClass ANY_OBJECT_NAME("partition_name", size); | ||
|  |    | ||
|  |   Generated partition that would work perfectly with this example | ||
|  |   #Name,   Type, SubType, Offset,   Size,    Flags
 | ||
|  |   nvs,     data, nvs,     0x9000,   0x5000, | ||
|  |   otadata, data, ota,     0xe000,   0x2000, | ||
|  |   app0,    app,  ota_0,   0x10000,  0x140000, | ||
|  |   app1,    app,  ota_1,   0x150000, 0x140000, | ||
|  |   eeprom0, data, 0x99,    0x290000, 0x1000, | ||
|  |   eeprom1, data, 0x9a,    0x291000, 0x500, | ||
|  |   eeprom2, data, 0x9b,    0x292000, 0x100, | ||
|  |   spiffs,  data, spiffs,  0x293000, 0x16d000, | ||
|  | 
 | ||
|  |   Created for arduino-esp32 on 25 Dec, 2017 | ||
|  |   by Elochukwu Ifediora (fedy0) | ||
|  | */ | ||
|  | 
 | ||
|  | #include "EEPROM.h"
 | ||
|  | 
 | ||
|  | // Instantiate eeprom objects with parameter/argument names and size same as in the partition table
 | ||
|  | EEPROMClass  NAMES("eeprom0", 0x1000); | ||
|  | EEPROMClass  HEIGHT("eeprom1", 0x500); | ||
|  | EEPROMClass  AGE("eeprom2", 0x100); | ||
|  | 
 | ||
|  | void setup() { | ||
|  |   // put your setup code here, to run once:
 | ||
|  |   Serial.begin(115200); | ||
|  |   Serial.println("Testing EEPROMClass\n"); | ||
|  |   if (!NAMES.begin(NAMES.length())) { | ||
|  |     Serial.println("Failed to initialise NAMES"); | ||
|  |     Serial.println("Restarting..."); | ||
|  |     delay(1000); | ||
|  |     ESP.restart(); | ||
|  |   } | ||
|  |   if (!HEIGHT.begin(HEIGHT.length())) { | ||
|  |     Serial.println("Failed to initialise HEIGHT"); | ||
|  |     Serial.println("Restarting..."); | ||
|  |     delay(1000); | ||
|  |     ESP.restart(); | ||
|  |   } | ||
|  |   if (!AGE.begin(AGE.length())) { | ||
|  |     Serial.println("Failed to initialise AGE"); | ||
|  |     Serial.println("Restarting..."); | ||
|  |     delay(1000); | ||
|  |     ESP.restart(); | ||
|  |   } | ||
|  | 
 | ||
|  |   char* name = "Teo Swee Ann"; | ||
|  |   double height = 5.8; | ||
|  |   uint32_t age = 47; | ||
|  | 
 | ||
|  |   // Write: Variables ---> EEPROM partitions
 | ||
|  |   NAMES.put(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
 | ||
|  |   name = '\0'; | ||
|  |   height = 0; | ||
|  |   age = 0; | ||
|  |   Serial.print("name: ");   Serial.println(name); | ||
|  |   Serial.print("height: "); Serial.println(height); | ||
|  |   Serial.print("age: ");    Serial.println(age); | ||
|  |   Serial.println("------------------------------------\n"); | ||
|  | 
 | ||
|  |   // Read: Variables <--- EEPROM partitions
 | ||
|  |   NAMES.get(0, name); | ||
|  |   HEIGHT.get(0, height); | ||
|  |   AGE.get(0, age); | ||
|  |   Serial.print("name: ");   Serial.println(name); | ||
|  |   Serial.print("height: "); Serial.println(height); | ||
|  |   Serial.print("age: ");    Serial.println(age); | ||
|  |    | ||
|  |   Serial.println("Done!"); | ||
|  | } | ||
|  | 
 | ||
|  | void loop() { | ||
|  |   // put your main code here, to run repeatedly:
 | ||
|  | 
 | ||
|  | } |