2323
2424void setup ()
2525{
26+ // You may choose to enable more or less EEPROM -
27+ // Default length is 1024 bytes (if setLength is not called)
28+ EEPROM.setLength (1080 ); // this would make the length 1080 bytes
29+ // EEPROM.setLength(AP3_EEPROM_MAX_LENGTH); // the maximum length is 8192 bytes (AP3_EEPROM_MAX_LENGTH)
30+ // Note: larger sizes will increase RAM usage and execution time
31+
2632 Serial.begin (115200 );
2733 Serial.println (" EEPROM Examples" );
2834
@@ -44,25 +50,25 @@ void setup()
4450 Serial.println (" 8 bit tests" );
4551 byte myValue1 = 200 ;
4652 byte myValue2 = 23 ;
47- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
53+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue1) );
4854
4955 startTime = millis ();
5056 EEPROM.write (randomLocation, myValue1); // (location, data)
5157 endTime = millis ();
52- EEPROM.put (randomLocation + 1 , myValue2);
58+ EEPROM.put (randomLocation + sizeof (myValue1) , myValue2);
5359
5460 Serial.printf (" Write byte time: %dms\n " , endTime - startTime);
5561
5662 startTime = millis ();
5763 EEPROM.write (randomLocation, myValue1); // (location, data)
5864 endTime = millis ();
5965
60- Serial.printf (" Write identical byte to same location (should be ~1) : %dms\n " , endTime - startTime);
66+ Serial.printf (" Write identical byte to same location: %dms\n " , endTime - startTime);
6167
6268 byte response1 = EEPROM.read (randomLocation);
63- byte response2 = EEPROM.read (randomLocation + 1 );
69+ byte response2 = EEPROM.read (randomLocation + sizeof (myValue1) );
6470 Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation, myValue1, response1);
65- Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation + 1 , myValue2, response2);
71+ Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation + sizeof (myValue1) , myValue2, response2);
6672 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
6773
6874 Serial.println (" " );
@@ -72,17 +78,17 @@ void setup()
7278 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
7379 uint16_t myValue3 = 3411 ;
7480 int16_t myValue4 = -366 ;
75- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
81+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue3) );
7682
7783 EEPROM.put (randomLocation, myValue3);
78- EEPROM.put (randomLocation + 2 , myValue4);
84+ EEPROM.put (randomLocation + sizeof (myValue3) , myValue4);
7985
8086 uint16_t response3;
8187 int16_t response4;
8288 EEPROM.get (randomLocation, response3);
83- EEPROM.get (randomLocation + 2 , response4);
89+ EEPROM.get (randomLocation + sizeof (myValue3) , response4);
8490 Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation, myValue3, response3);
85- Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation + 2 , myValue4, response4);
91+ Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation + sizeof (myValue3) , myValue4, response4);
8692 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
8793
8894 Serial.println (" " );
@@ -93,52 +99,52 @@ void setup()
9399 Serial.printf (" Size of int: %d\n " , sizeof (int ));
94100 int myValue5 = -245000 ;
95101 unsigned int myValue6 = 400123 ;
96- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
102+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue5) );
97103
98104 EEPROM.put (randomLocation, myValue5);
99- EEPROM.put (randomLocation + 4 , myValue6);
105+ EEPROM.put (randomLocation + sizeof (myValue5) , myValue6);
100106
101107 int response5;
102108 unsigned int response6;
103109 EEPROM.get (randomLocation, response5);
104- EEPROM.get (randomLocation + 4 , response6);
110+ EEPROM.get (randomLocation + sizeof (myValue5) , response6);
105111 Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation, myValue5, response5);
106- Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation + 4 , myValue6, response6);
112+ Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation + sizeof (myValue5) , myValue6, response6);
107113 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
108114
109115 // int32_t and uint32_t sequential test
110116 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
111117 int32_t myValue7 = -341002 ;
112118 uint32_t myValue8 = 241544 ;
113- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
119+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue7) );
114120
115121 EEPROM.put (randomLocation, myValue7);
116- EEPROM.put (randomLocation + 4 , myValue8);
122+ EEPROM.put (randomLocation + sizeof (myValue7) , myValue8);
117123
118124 int32_t response7;
119125 uint32_t response8;
120126 EEPROM.get (randomLocation, response7);
121- EEPROM.get (randomLocation + 4 , response8);
127+ EEPROM.get (randomLocation + sizeof (myValue7) , response8);
122128 Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation, myValue7, response7);
123- Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation + 4 , myValue8, response8);
129+ Serial.printf (" Location %d should be %d: %d\n\r " , randomLocation + sizeof (myValue7) , myValue8, response8);
124130 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
125131
126132 // float (32) sequential test
127133 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
128134 Serial.printf (" Size of float: %d\n " , sizeof (float ));
129135 float myValue9 = -7.35 ;
130136 float myValue10 = 5.22 ;
131- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
137+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue9) );
132138
133139 EEPROM.put (randomLocation, myValue9);
134- EEPROM.put (randomLocation + 4 , myValue10);
140+ EEPROM.put (randomLocation + sizeof (myValue9) , myValue10);
135141
136142 float response9;
137143 float response10;
138144 EEPROM.get (randomLocation, response9);
139- EEPROM.get (randomLocation + 4 , response10);
145+ EEPROM.get (randomLocation + sizeof (myValue9) , response10);
140146 Serial.printf (" Location %d should be %f: %f\n\r " , randomLocation, myValue9, response9);
141- Serial.printf (" Location %d should be %f: %f\n\r " , randomLocation + 4 , myValue10, response10);
147+ Serial.printf (" Location %d should be %f: %f\n\r " , randomLocation + sizeof (myValue9) , myValue10, response10);
142148 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
143149
144150 Serial.println (" " );
@@ -151,24 +157,24 @@ void setup()
151157 double myValue12 = 384.95734987 ;
152158 double myValue13 = 917.14159 ;
153159 double myValue14 = 254.8877 ;
154- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
160+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue11) );
155161
156162 startTime = millis ();
157163 EEPROM.put (randomLocation, myValue11);
158164 endTime = millis ();
159165 Serial.printf (" Time to record 64-bits: %dms\n " , endTime - startTime);
160166
161- EEPROM.put (randomLocation + 8 , myValue12);
167+ EEPROM.put (randomLocation + sizeof (myValue11) , myValue12);
162168 EEPROM.put (EEPROM.length () - sizeof (myValue13), myValue13); // Test end of EEPROM space
163169
164170 double response11;
165171 double response12;
166172 double response13;
167173 EEPROM.get (randomLocation, response11);
168- EEPROM.get (randomLocation + 8 , response12);
174+ EEPROM.get (randomLocation + sizeof (myValue11) , response12);
169175 EEPROM.get (EEPROM.length () - sizeof (myValue13), response13);
170176 Serial.printf (" Location %d should be %lf: %lf\n " , randomLocation, myValue11, response11);
171- Serial.printf (" Location %d should be %lf: %lf\n " , randomLocation + 8 , myValue12, response12);
177+ Serial.printf (" Location %d should be %lf: %lf\n " , randomLocation + sizeof (myValue11) , myValue12, response12);
172178 Serial.printf (" Edge of EEPROM %d should be %lf: %lf\n " , EEPROM.length () - sizeof (myValue13), myValue13, response13);
173179
174180 double response14;
@@ -183,7 +189,7 @@ void setup()
183189 // String write test
184190 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
185191 char myString[19 ] = " How are you today?" ;
186- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
192+ randomLocation = random (0 , EEPROM. length () - sizeof (myString) );
187193 EEPROM.put (randomLocation, myString);
188194
189195 char readMy[19 ];
0 commit comments