23
23
24
24
void setup ()
25
25
{
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
+
26
32
Serial.begin (115200 );
27
33
Serial.println (" EEPROM Examples" );
28
34
@@ -44,25 +50,25 @@ void setup()
44
50
Serial.println (" 8 bit tests" );
45
51
byte myValue1 = 200 ;
46
52
byte myValue2 = 23 ;
47
- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
53
+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue1) );
48
54
49
55
startTime = millis ();
50
56
EEPROM.write (randomLocation, myValue1); // (location, data)
51
57
endTime = millis ();
52
- EEPROM.put (randomLocation + 1 , myValue2);
58
+ EEPROM.put (randomLocation + sizeof (myValue1) , myValue2);
53
59
54
60
Serial.printf (" Write byte time: %dms\n " , endTime - startTime);
55
61
56
62
startTime = millis ();
57
63
EEPROM.write (randomLocation, myValue1); // (location, data)
58
64
endTime = millis ();
59
65
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);
61
67
62
68
byte response1 = EEPROM.read (randomLocation);
63
- byte response2 = EEPROM.read (randomLocation + 1 );
69
+ byte response2 = EEPROM.read (randomLocation + sizeof (myValue1) );
64
70
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);
66
72
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
67
73
68
74
Serial.println (" " );
@@ -72,17 +78,17 @@ void setup()
72
78
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
73
79
uint16_t myValue3 = 3411 ;
74
80
int16_t myValue4 = -366 ;
75
- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
81
+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue3) );
76
82
77
83
EEPROM.put (randomLocation, myValue3);
78
- EEPROM.put (randomLocation + 2 , myValue4);
84
+ EEPROM.put (randomLocation + sizeof (myValue3) , myValue4);
79
85
80
86
uint16_t response3;
81
87
int16_t response4;
82
88
EEPROM.get (randomLocation, response3);
83
- EEPROM.get (randomLocation + 2 , response4);
89
+ EEPROM.get (randomLocation + sizeof (myValue3) , response4);
84
90
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);
86
92
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
87
93
88
94
Serial.println (" " );
@@ -93,52 +99,52 @@ void setup()
93
99
Serial.printf (" Size of int: %d\n " , sizeof (int ));
94
100
int myValue5 = -245000 ;
95
101
unsigned int myValue6 = 400123 ;
96
- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
102
+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue5) );
97
103
98
104
EEPROM.put (randomLocation, myValue5);
99
- EEPROM.put (randomLocation + 4 , myValue6);
105
+ EEPROM.put (randomLocation + sizeof (myValue5) , myValue6);
100
106
101
107
int response5;
102
108
unsigned int response6;
103
109
EEPROM.get (randomLocation, response5);
104
- EEPROM.get (randomLocation + 4 , response6);
110
+ EEPROM.get (randomLocation + sizeof (myValue5) , response6);
105
111
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);
107
113
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
108
114
109
115
// int32_t and uint32_t sequential test
110
116
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
111
117
int32_t myValue7 = -341002 ;
112
118
uint32_t myValue8 = 241544 ;
113
- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
119
+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue7) );
114
120
115
121
EEPROM.put (randomLocation, myValue7);
116
- EEPROM.put (randomLocation + 4 , myValue8);
122
+ EEPROM.put (randomLocation + sizeof (myValue7) , myValue8);
117
123
118
124
int32_t response7;
119
125
uint32_t response8;
120
126
EEPROM.get (randomLocation, response7);
121
- EEPROM.get (randomLocation + 4 , response8);
127
+ EEPROM.get (randomLocation + sizeof (myValue7) , response8);
122
128
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);
124
130
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
125
131
126
132
// float (32) sequential test
127
133
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
128
134
Serial.printf (" Size of float: %d\n " , sizeof (float ));
129
135
float myValue9 = -7.35 ;
130
136
float myValue10 = 5.22 ;
131
- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
137
+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue9) );
132
138
133
139
EEPROM.put (randomLocation, myValue9);
134
- EEPROM.put (randomLocation + 4 , myValue10);
140
+ EEPROM.put (randomLocation + sizeof (myValue9) , myValue10);
135
141
136
142
float response9;
137
143
float response10;
138
144
EEPROM.get (randomLocation, response9);
139
- EEPROM.get (randomLocation + 4 , response10);
145
+ EEPROM.get (randomLocation + sizeof (myValue9) , response10);
140
146
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);
142
148
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
143
149
144
150
Serial.println (" " );
@@ -151,24 +157,24 @@ void setup()
151
157
double myValue12 = 384.95734987 ;
152
158
double myValue13 = 917.14159 ;
153
159
double myValue14 = 254.8877 ;
154
- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
160
+ randomLocation = random (0 , EEPROM. length () - sizeof (myValue11) );
155
161
156
162
startTime = millis ();
157
163
EEPROM.put (randomLocation, myValue11);
158
164
endTime = millis ();
159
165
Serial.printf (" Time to record 64-bits: %dms\n " , endTime - startTime);
160
166
161
- EEPROM.put (randomLocation + 8 , myValue12);
167
+ EEPROM.put (randomLocation + sizeof (myValue11) , myValue12);
162
168
EEPROM.put (EEPROM.length () - sizeof (myValue13), myValue13); // Test end of EEPROM space
163
169
164
170
double response11;
165
171
double response12;
166
172
double response13;
167
173
EEPROM.get (randomLocation, response11);
168
- EEPROM.get (randomLocation + 8 , response12);
174
+ EEPROM.get (randomLocation + sizeof (myValue11) , response12);
169
175
EEPROM.get (EEPROM.length () - sizeof (myValue13), response13);
170
176
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);
172
178
Serial.printf (" Edge of EEPROM %d should be %lf: %lf\n " , EEPROM.length () - sizeof (myValue13), myValue13, response13);
173
179
174
180
double response14;
@@ -183,7 +189,7 @@ void setup()
183
189
// String write test
184
190
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
185
191
char myString[19 ] = " How are you today?" ;
186
- randomLocation = random (0 , AP3_FLASH_EEPROM_SIZE );
192
+ randomLocation = random (0 , EEPROM. length () - sizeof (myString) );
187
193
EEPROM.put (randomLocation, myString);
188
194
189
195
char readMy[19 ];
0 commit comments