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