Kaynağa Gözat

Neaten up EEPROM read/write functions

Scott Lahteine 9 yıl önce
ebeveyn
işleme
060dc6d95a
1 değiştirilmiş dosya ile 154 ekleme ve 146 silme
  1. 154
    146
      Marlin/configuration_store.cpp

+ 154
- 146
Marlin/configuration_store.cpp Dosyayı Görüntüle

@@ -185,8 +185,10 @@ void Config_Postprocess() {
185 185
 #if ENABLED(EEPROM_SETTINGS)
186 186
 
187 187
   #define DUMMY_PID_VALUE 3000.0f
188
-  #define EEPROM_WRITE_VAR(pos, value) _EEPROM_writeData(pos, (uint8_t*)&value, sizeof(value))
189
-  #define EEPROM_READ_VAR(pos, value) _EEPROM_readData(pos, (uint8_t*)&value, sizeof(value))
188
+  #define EEPROM_START() int eeprom_index = EEPROM_OFFSET
189
+  #define EEPROM_SKIP(VAR) eeprom_index += sizeof(VAR)
190
+  #define EEPROM_WRITE(VAR) _EEPROM_writeData(eeprom_index, (uint8_t*)&VAR, sizeof(VAR))
191
+  #define EEPROM_READ(VAR) _EEPROM_readData(eeprom_index, (uint8_t*)&VAR, sizeof(VAR))
190 192
 
191 193
 /**
192 194
  * M500 - Store Configuration
@@ -194,26 +196,27 @@ void Config_Postprocess() {
194 196
 void Config_StoreSettings()  {
195 197
   float dummy = 0.0f;
196 198
   char ver[4] = "000";
197
-  int i = EEPROM_OFFSET;
198 199
 
199
-  EEPROM_WRITE_VAR(i, ver);     // invalidate data first
200
-  i += sizeof(eeprom_checksum); // Skip the checksum slot
200
+  EEPROM_START();
201
+
202
+  EEPROM_WRITE(ver);     // invalidate data first
203
+  EEPROM_SKIP(eeprom_checksum); // Skip the checksum slot
201 204
 
202 205
   eeprom_checksum = 0; // clear before first "real data"
203 206
 
204
-  EEPROM_WRITE_VAR(i, planner.axis_steps_per_mm);
205
-  EEPROM_WRITE_VAR(i, planner.max_feedrate_mm_s);
206
-  EEPROM_WRITE_VAR(i, planner.max_acceleration_mm_per_s2);
207
-  EEPROM_WRITE_VAR(i, planner.acceleration);
208
-  EEPROM_WRITE_VAR(i, planner.retract_acceleration);
209
-  EEPROM_WRITE_VAR(i, planner.travel_acceleration);
210
-  EEPROM_WRITE_VAR(i, planner.min_feedrate_mm_s);
211
-  EEPROM_WRITE_VAR(i, planner.min_travel_feedrate_mm_s);
212
-  EEPROM_WRITE_VAR(i, planner.min_segment_time);
213
-  EEPROM_WRITE_VAR(i, planner.max_xy_jerk);
214
-  EEPROM_WRITE_VAR(i, planner.max_z_jerk);
215
-  EEPROM_WRITE_VAR(i, planner.max_e_jerk);
216
-  EEPROM_WRITE_VAR(i, home_offset);
207
+  EEPROM_WRITE(planner.axis_steps_per_mm);
208
+  EEPROM_WRITE(planner.max_feedrate_mm_s);
209
+  EEPROM_WRITE(planner.max_acceleration_mm_per_s2);
210
+  EEPROM_WRITE(planner.acceleration);
211
+  EEPROM_WRITE(planner.retract_acceleration);
212
+  EEPROM_WRITE(planner.travel_acceleration);
213
+  EEPROM_WRITE(planner.min_feedrate_mm_s);
214
+  EEPROM_WRITE(planner.min_travel_feedrate_mm_s);
215
+  EEPROM_WRITE(planner.min_segment_time);
216
+  EEPROM_WRITE(planner.max_xy_jerk);
217
+  EEPROM_WRITE(planner.max_z_jerk);
218
+  EEPROM_WRITE(planner.max_e_jerk);
219
+  EEPROM_WRITE(home_offset);
217 220
 
218 221
   #if ENABLED(MESH_BED_LEVELING)
219 222
     // Compile time test that sizeof(mbl.z_values) is as expected
@@ -221,45 +224,45 @@ void Config_StoreSettings()  {
221 224
     uint8_t mesh_num_x = MESH_NUM_X_POINTS,
222 225
             mesh_num_y = MESH_NUM_Y_POINTS,
223 226
             dummy_uint8 = mbl.status & _BV(MBL_STATUS_HAS_MESH_BIT);
224
-    EEPROM_WRITE_VAR(i, dummy_uint8);
225
-    EEPROM_WRITE_VAR(i, mbl.z_offset);
226
-    EEPROM_WRITE_VAR(i, mesh_num_x);
227
-    EEPROM_WRITE_VAR(i, mesh_num_y);
228
-    EEPROM_WRITE_VAR(i, mbl.z_values);
227
+    EEPROM_WRITE(dummy_uint8);
228
+    EEPROM_WRITE(mbl.z_offset);
229
+    EEPROM_WRITE(mesh_num_x);
230
+    EEPROM_WRITE(mesh_num_y);
231
+    EEPROM_WRITE(mbl.z_values);
229 232
   #else
230 233
     // For disabled MBL write a default mesh
231 234
     uint8_t mesh_num_x = 3,
232 235
             mesh_num_y = 3,
233 236
             dummy_uint8 = 0;
234 237
     dummy = 0.0f;
235
-    EEPROM_WRITE_VAR(i, dummy_uint8);
236
-    EEPROM_WRITE_VAR(i, dummy);
237
-    EEPROM_WRITE_VAR(i, mesh_num_x);
238
-    EEPROM_WRITE_VAR(i, mesh_num_y);
239
-    for (uint8_t q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_WRITE_VAR(i, dummy);
238
+    EEPROM_WRITE(dummy_uint8);
239
+    EEPROM_WRITE(dummy);
240
+    EEPROM_WRITE(mesh_num_x);
241
+    EEPROM_WRITE(mesh_num_y);
242
+    for (uint8_t q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_WRITE(dummy);
240 243
   #endif // MESH_BED_LEVELING
241 244
 
242 245
   #if !HAS_BED_PROBE
243 246
     float zprobe_zoffset = 0;
244 247
   #endif
245
-  EEPROM_WRITE_VAR(i, zprobe_zoffset);
248
+  EEPROM_WRITE(zprobe_zoffset);
246 249
 
247 250
   // 9 floats for DELTA / Z_DUAL_ENDSTOPS
248 251
   #if ENABLED(DELTA)
249
-    EEPROM_WRITE_VAR(i, endstop_adj);               // 3 floats
250
-    EEPROM_WRITE_VAR(i, delta_radius);              // 1 float
251
-    EEPROM_WRITE_VAR(i, delta_diagonal_rod);        // 1 float
252
-    EEPROM_WRITE_VAR(i, delta_segments_per_second); // 1 float
253
-    EEPROM_WRITE_VAR(i, delta_diagonal_rod_trim_tower_1);  // 1 float
254
-    EEPROM_WRITE_VAR(i, delta_diagonal_rod_trim_tower_2);  // 1 float
255
-    EEPROM_WRITE_VAR(i, delta_diagonal_rod_trim_tower_3);  // 1 float
252
+    EEPROM_WRITE(endstop_adj);               // 3 floats
253
+    EEPROM_WRITE(delta_radius);              // 1 float
254
+    EEPROM_WRITE(delta_diagonal_rod);        // 1 float
255
+    EEPROM_WRITE(delta_segments_per_second); // 1 float
256
+    EEPROM_WRITE(delta_diagonal_rod_trim_tower_1);  // 1 float
257
+    EEPROM_WRITE(delta_diagonal_rod_trim_tower_2);  // 1 float
258
+    EEPROM_WRITE(delta_diagonal_rod_trim_tower_3);  // 1 float
256 259
   #elif ENABLED(Z_DUAL_ENDSTOPS)
257
-    EEPROM_WRITE_VAR(i, z_endstop_adj);            // 1 float
260
+    EEPROM_WRITE(z_endstop_adj);            // 1 float
258 261
     dummy = 0.0f;
259
-    for (uint8_t q = 8; q--;) EEPROM_WRITE_VAR(i, dummy);
262
+    for (uint8_t q = 8; q--;) EEPROM_WRITE(dummy);
260 263
   #else
261 264
     dummy = 0.0f;
262
-    for (uint8_t q = 9; q--;) EEPROM_WRITE_VAR(i, dummy);
265
+    for (uint8_t q = 9; q--;) EEPROM_WRITE(dummy);
263 266
   #endif
264 267
 
265 268
   #if DISABLED(ULTIPANEL)
@@ -267,34 +270,34 @@ void Config_StoreSettings()  {
267 270
         preheatHotendTemp2 = PREHEAT_2_TEMP_HOTEND, preheatBedTemp2 = PREHEAT_2_TEMP_BED, preheatFanSpeed2 = PREHEAT_2_FAN_SPEED;
268 271
   #endif // !ULTIPANEL
269 272
 
270
-  EEPROM_WRITE_VAR(i, preheatHotendTemp1);
271
-  EEPROM_WRITE_VAR(i, preheatBedTemp1);
272
-  EEPROM_WRITE_VAR(i, preheatFanSpeed1);
273
-  EEPROM_WRITE_VAR(i, preheatHotendTemp2);
274
-  EEPROM_WRITE_VAR(i, preheatBedTemp2);
275
-  EEPROM_WRITE_VAR(i, preheatFanSpeed2);
273
+  EEPROM_WRITE(preheatHotendTemp1);
274
+  EEPROM_WRITE(preheatBedTemp1);
275
+  EEPROM_WRITE(preheatFanSpeed1);
276
+  EEPROM_WRITE(preheatHotendTemp2);
277
+  EEPROM_WRITE(preheatBedTemp2);
278
+  EEPROM_WRITE(preheatFanSpeed2);
276 279
 
277 280
   for (uint8_t e = 0; e < MAX_EXTRUDERS; e++) {
278 281
 
279 282
     #if ENABLED(PIDTEMP)
280 283
       if (e < HOTENDS) {
281
-        EEPROM_WRITE_VAR(i, PID_PARAM(Kp, e));
282
-        EEPROM_WRITE_VAR(i, PID_PARAM(Ki, e));
283
-        EEPROM_WRITE_VAR(i, PID_PARAM(Kd, e));
284
+        EEPROM_WRITE(PID_PARAM(Kp, e));
285
+        EEPROM_WRITE(PID_PARAM(Ki, e));
286
+        EEPROM_WRITE(PID_PARAM(Kd, e));
284 287
         #if ENABLED(PID_ADD_EXTRUSION_RATE)
285
-          EEPROM_WRITE_VAR(i, PID_PARAM(Kc, e));
288
+          EEPROM_WRITE(PID_PARAM(Kc, e));
286 289
         #else
287 290
           dummy = 1.0f; // 1.0 = default kc
288
-          EEPROM_WRITE_VAR(i, dummy);
291
+          EEPROM_WRITE(dummy);
289 292
         #endif
290 293
       }
291 294
       else
292 295
     #endif // !PIDTEMP
293 296
       {
294 297
         dummy = DUMMY_PID_VALUE; // When read, will not change the existing value
295
-        EEPROM_WRITE_VAR(i, dummy); // Kp
298
+        EEPROM_WRITE(dummy); // Kp
296 299
         dummy = 0.0f;
297
-        for (uint8_t q = 3; q--;) EEPROM_WRITE_VAR(i, dummy); // Ki, Kd, Kc
300
+        for (uint8_t q = 3; q--;) EEPROM_WRITE(dummy); // Ki, Kd, Kc
298 301
       }
299 302
 
300 303
   } // Hotends Loop
@@ -302,67 +305,68 @@ void Config_StoreSettings()  {
302 305
   #if DISABLED(PID_ADD_EXTRUSION_RATE)
303 306
     int lpq_len = 20;
304 307
   #endif
305
-  EEPROM_WRITE_VAR(i, lpq_len);
308
+  EEPROM_WRITE(lpq_len);
306 309
 
307 310
   #if DISABLED(PIDTEMPBED)
308 311
     dummy = DUMMY_PID_VALUE;
309
-    for (uint8_t q = 3; q--;) EEPROM_WRITE_VAR(i, dummy);
312
+    for (uint8_t q = 3; q--;) EEPROM_WRITE(dummy);
310 313
   #else
311
-    EEPROM_WRITE_VAR(i, thermalManager.bedKp);
312
-    EEPROM_WRITE_VAR(i, thermalManager.bedKi);
313
-    EEPROM_WRITE_VAR(i, thermalManager.bedKd);
314
+    EEPROM_WRITE(thermalManager.bedKp);
315
+    EEPROM_WRITE(thermalManager.bedKi);
316
+    EEPROM_WRITE(thermalManager.bedKd);
314 317
   #endif
315 318
 
316 319
   #if !HAS_LCD_CONTRAST
317 320
     const int lcd_contrast = 32;
318 321
   #endif
319
-  EEPROM_WRITE_VAR(i, lcd_contrast);
322
+  EEPROM_WRITE(lcd_contrast);
320 323
 
321 324
   #if ENABLED(SCARA)
322
-    EEPROM_WRITE_VAR(i, axis_scaling); // 3 floats
325
+    EEPROM_WRITE(axis_scaling); // 3 floats
323 326
   #else
324 327
     dummy = 1.0f;
325
-    EEPROM_WRITE_VAR(i, dummy);
328
+    EEPROM_WRITE(dummy);
326 329
   #endif
327 330
 
328 331
   #if ENABLED(FWRETRACT)
329
-    EEPROM_WRITE_VAR(i, autoretract_enabled);
330
-    EEPROM_WRITE_VAR(i, retract_length);
332
+    EEPROM_WRITE(autoretract_enabled);
333
+    EEPROM_WRITE(retract_length);
331 334
     #if EXTRUDERS > 1
332
-      EEPROM_WRITE_VAR(i, retract_length_swap);
335
+      EEPROM_WRITE(retract_length_swap);
333 336
     #else
334 337
       dummy = 0.0f;
335
-      EEPROM_WRITE_VAR(i, dummy);
338
+      EEPROM_WRITE(dummy);
336 339
     #endif
337
-    EEPROM_WRITE_VAR(i, retract_feedrate_mm_s);
338
-    EEPROM_WRITE_VAR(i, retract_zlift);
339
-    EEPROM_WRITE_VAR(i, retract_recover_length);
340
+    EEPROM_WRITE(retract_feedrate_mm_s);
341
+    EEPROM_WRITE(retract_zlift);
342
+    EEPROM_WRITE(retract_recover_length);
340 343
     #if EXTRUDERS > 1
341
-      EEPROM_WRITE_VAR(i, retract_recover_length_swap);
344
+      EEPROM_WRITE(retract_recover_length_swap);
342 345
     #else
343 346
       dummy = 0.0f;
344
-      EEPROM_WRITE_VAR(i, dummy);
347
+      EEPROM_WRITE(dummy);
345 348
     #endif
346
-    EEPROM_WRITE_VAR(i, retract_recover_feedrate_mm_s);
349
+    EEPROM_WRITE(retract_recover_feedrate_mm_s);
347 350
   #endif // FWRETRACT
348 351
 
349
-  EEPROM_WRITE_VAR(i, volumetric_enabled);
352
+  EEPROM_WRITE(volumetric_enabled);
350 353
 
351 354
   // Save filament sizes
352 355
   for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) {
353 356
     if (q < COUNT(filament_size)) dummy = filament_size[q];
354
-    EEPROM_WRITE_VAR(i, dummy);
357
+    EEPROM_WRITE(dummy);
355 358
   }
356 359
 
357
-  uint16_t final_checksum = eeprom_checksum;
360
+  uint16_t final_checksum = eeprom_checksum,
361
+           eeprom_size = eeprom_index;
358 362
 
359
-  int j = EEPROM_OFFSET;
360
-  EEPROM_WRITE_VAR(j, version);
361
-  EEPROM_WRITE_VAR(j, final_checksum);
363
+  eeprom_index = EEPROM_OFFSET;
364
+  EEPROM_WRITE(version);
365
+  EEPROM_WRITE(final_checksum);
362 366
 
363 367
   // Report storage size
364 368
   SERIAL_ECHO_START;
365
-  SERIAL_ECHOPAIR("Settings Stored (", i);
369
+  SERIAL_ECHOPAIR("Settings Stored (", eeprom_size);
366 370
   SERIAL_ECHOLNPGM(" bytes)");
367 371
 }
368 372
 
@@ -370,11 +374,15 @@ void Config_StoreSettings()  {
370 374
  * M501 - Retrieve Configuration
371 375
  */
372 376
 void Config_RetrieveSettings() {
373
-  int i = EEPROM_OFFSET;
377
+
378
+  EEPROM_START();
379
+
374 380
   char stored_ver[4];
381
+  EEPROM_READ(stored_ver);
382
+
375 383
   uint16_t stored_checksum;
376
-  EEPROM_READ_VAR(i, stored_ver);
377
-  EEPROM_READ_VAR(i, stored_checksum);
384
+  EEPROM_READ(stored_checksum);
385
+
378 386
   //  SERIAL_ECHOPAIR("Version: [", ver);
379 387
   //  SERIAL_ECHOPAIR("] Stored version: [", stored_ver);
380 388
   //  SERIAL_ECHOLNPGM("]");
@@ -388,63 +396,63 @@ void Config_RetrieveSettings() {
388 396
     eeprom_checksum = 0; // clear before reading first "real data"
389 397
 
390 398
     // version number match
391
-    EEPROM_READ_VAR(i, planner.axis_steps_per_mm);
392
-    EEPROM_READ_VAR(i, planner.max_feedrate_mm_s);
393
-    EEPROM_READ_VAR(i, planner.max_acceleration_mm_per_s2);
394
-
395
-    EEPROM_READ_VAR(i, planner.acceleration);
396
-    EEPROM_READ_VAR(i, planner.retract_acceleration);
397
-    EEPROM_READ_VAR(i, planner.travel_acceleration);
398
-    EEPROM_READ_VAR(i, planner.min_feedrate_mm_s);
399
-    EEPROM_READ_VAR(i, planner.min_travel_feedrate_mm_s);
400
-    EEPROM_READ_VAR(i, planner.min_segment_time);
401
-    EEPROM_READ_VAR(i, planner.max_xy_jerk);
402
-    EEPROM_READ_VAR(i, planner.max_z_jerk);
403
-    EEPROM_READ_VAR(i, planner.max_e_jerk);
404
-    EEPROM_READ_VAR(i, home_offset);
399
+    EEPROM_READ(planner.axis_steps_per_mm);
400
+    EEPROM_READ(planner.max_feedrate_mm_s);
401
+    EEPROM_READ(planner.max_acceleration_mm_per_s2);
402
+
403
+    EEPROM_READ(planner.acceleration);
404
+    EEPROM_READ(planner.retract_acceleration);
405
+    EEPROM_READ(planner.travel_acceleration);
406
+    EEPROM_READ(planner.min_feedrate_mm_s);
407
+    EEPROM_READ(planner.min_travel_feedrate_mm_s);
408
+    EEPROM_READ(planner.min_segment_time);
409
+    EEPROM_READ(planner.max_xy_jerk);
410
+    EEPROM_READ(planner.max_z_jerk);
411
+    EEPROM_READ(planner.max_e_jerk);
412
+    EEPROM_READ(home_offset);
405 413
 
406 414
     uint8_t dummy_uint8 = 0, mesh_num_x = 0, mesh_num_y = 0;
407
-    EEPROM_READ_VAR(i, dummy_uint8);
408
-    EEPROM_READ_VAR(i, dummy);
409
-    EEPROM_READ_VAR(i, mesh_num_x);
410
-    EEPROM_READ_VAR(i, mesh_num_y);
415
+    EEPROM_READ(dummy_uint8);
416
+    EEPROM_READ(dummy);
417
+    EEPROM_READ(mesh_num_x);
418
+    EEPROM_READ(mesh_num_y);
411 419
     #if ENABLED(MESH_BED_LEVELING)
412 420
       mbl.status = dummy_uint8;
413 421
       mbl.z_offset = dummy;
414 422
       if (mesh_num_x == MESH_NUM_X_POINTS && mesh_num_y == MESH_NUM_Y_POINTS) {
415 423
         // EEPROM data fits the current mesh
416
-        EEPROM_READ_VAR(i, mbl.z_values);
424
+        EEPROM_READ(mbl.z_values);
417 425
       }
418 426
       else {
419 427
         // EEPROM data is stale
420 428
         mbl.reset();
421
-        for (uint8_t q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_READ_VAR(i, dummy);
429
+        for (uint8_t q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_READ(dummy);
422 430
       }
423 431
     #else
424 432
       // MBL is disabled - skip the stored data
425
-      for (uint8_t q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_READ_VAR(i, dummy);
433
+      for (uint8_t q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_READ(dummy);
426 434
     #endif // MESH_BED_LEVELING
427 435
 
428 436
     #if !HAS_BED_PROBE
429 437
       float zprobe_zoffset = 0;
430 438
     #endif
431
-    EEPROM_READ_VAR(i, zprobe_zoffset);
439
+    EEPROM_READ(zprobe_zoffset);
432 440
 
433 441
     #if ENABLED(DELTA)
434
-      EEPROM_READ_VAR(i, endstop_adj);                // 3 floats
435
-      EEPROM_READ_VAR(i, delta_radius);               // 1 float
436
-      EEPROM_READ_VAR(i, delta_diagonal_rod);         // 1 float
437
-      EEPROM_READ_VAR(i, delta_segments_per_second);  // 1 float
438
-      EEPROM_READ_VAR(i, delta_diagonal_rod_trim_tower_1);  // 1 float
439
-      EEPROM_READ_VAR(i, delta_diagonal_rod_trim_tower_2);  // 1 float
440
-      EEPROM_READ_VAR(i, delta_diagonal_rod_trim_tower_3);  // 1 float
442
+      EEPROM_READ(endstop_adj);                // 3 floats
443
+      EEPROM_READ(delta_radius);               // 1 float
444
+      EEPROM_READ(delta_diagonal_rod);         // 1 float
445
+      EEPROM_READ(delta_segments_per_second);  // 1 float
446
+      EEPROM_READ(delta_diagonal_rod_trim_tower_1);  // 1 float
447
+      EEPROM_READ(delta_diagonal_rod_trim_tower_2);  // 1 float
448
+      EEPROM_READ(delta_diagonal_rod_trim_tower_3);  // 1 float
441 449
     #elif ENABLED(Z_DUAL_ENDSTOPS)
442
-      EEPROM_READ_VAR(i, z_endstop_adj);
450
+      EEPROM_READ(z_endstop_adj);
443 451
       dummy = 0.0f;
444
-      for (uint8_t q=8; q--;) EEPROM_READ_VAR(i, dummy);
452
+      for (uint8_t q=8; q--;) EEPROM_READ(dummy);
445 453
     #else
446 454
       dummy = 0.0f;
447
-      for (uint8_t q=9; q--;) EEPROM_READ_VAR(i, dummy);
455
+      for (uint8_t q=9; q--;) EEPROM_READ(dummy);
448 456
     #endif
449 457
 
450 458
     #if DISABLED(ULTIPANEL)
@@ -452,86 +460,86 @@ void Config_RetrieveSettings() {
452 460
           preheatHotendTemp2, preheatBedTemp2, preheatFanSpeed2;
453 461
     #endif
454 462
 
455
-    EEPROM_READ_VAR(i, preheatHotendTemp1);
456
-    EEPROM_READ_VAR(i, preheatBedTemp1);
457
-    EEPROM_READ_VAR(i, preheatFanSpeed1);
458
-    EEPROM_READ_VAR(i, preheatHotendTemp2);
459
-    EEPROM_READ_VAR(i, preheatBedTemp2);
460
-    EEPROM_READ_VAR(i, preheatFanSpeed2);
463
+    EEPROM_READ(preheatHotendTemp1);
464
+    EEPROM_READ(preheatBedTemp1);
465
+    EEPROM_READ(preheatFanSpeed1);
466
+    EEPROM_READ(preheatHotendTemp2);
467
+    EEPROM_READ(preheatBedTemp2);
468
+    EEPROM_READ(preheatFanSpeed2);
461 469
 
462 470
     #if ENABLED(PIDTEMP)
463 471
       for (uint8_t e = 0; e < MAX_EXTRUDERS; e++) {
464
-        EEPROM_READ_VAR(i, dummy); // Kp
472
+        EEPROM_READ(dummy); // Kp
465 473
         if (e < HOTENDS && dummy != DUMMY_PID_VALUE) {
466 474
           // do not need to scale PID values as the values in EEPROM are already scaled
467 475
           PID_PARAM(Kp, e) = dummy;
468
-          EEPROM_READ_VAR(i, PID_PARAM(Ki, e));
469
-          EEPROM_READ_VAR(i, PID_PARAM(Kd, e));
476
+          EEPROM_READ(PID_PARAM(Ki, e));
477
+          EEPROM_READ(PID_PARAM(Kd, e));
470 478
           #if ENABLED(PID_ADD_EXTRUSION_RATE)
471
-            EEPROM_READ_VAR(i, PID_PARAM(Kc, e));
479
+            EEPROM_READ(PID_PARAM(Kc, e));
472 480
           #else
473
-            EEPROM_READ_VAR(i, dummy);
481
+            EEPROM_READ(dummy);
474 482
           #endif
475 483
         }
476 484
         else {
477
-          for (uint8_t q=3; q--;) EEPROM_READ_VAR(i, dummy); // Ki, Kd, Kc
485
+          for (uint8_t q=3; q--;) EEPROM_READ(dummy); // Ki, Kd, Kc
478 486
         }
479 487
       }
480 488
     #else // !PIDTEMP
481 489
       // 4 x 4 = 16 slots for PID parameters
482
-      for (uint8_t q = MAX_EXTRUDERS * 4; q--;) EEPROM_READ_VAR(i, dummy);  // Kp, Ki, Kd, Kc
490
+      for (uint8_t q = MAX_EXTRUDERS * 4; q--;) EEPROM_READ(dummy);  // Kp, Ki, Kd, Kc
483 491
     #endif // !PIDTEMP
484 492
 
485 493
     #if DISABLED(PID_ADD_EXTRUSION_RATE)
486 494
       int lpq_len;
487 495
     #endif
488
-    EEPROM_READ_VAR(i, lpq_len);
496
+    EEPROM_READ(lpq_len);
489 497
 
490 498
     #if ENABLED(PIDTEMPBED)
491
-      EEPROM_READ_VAR(i, dummy); // bedKp
499
+      EEPROM_READ(dummy); // bedKp
492 500
       if (dummy != DUMMY_PID_VALUE) {
493 501
         thermalManager.bedKp = dummy;
494
-        EEPROM_READ_VAR(i, thermalManager.bedKi);
495
-        EEPROM_READ_VAR(i, thermalManager.bedKd);
502
+        EEPROM_READ(thermalManager.bedKi);
503
+        EEPROM_READ(thermalManager.bedKd);
496 504
       }
497 505
     #else
498
-      for (uint8_t q=3; q--;) EEPROM_READ_VAR(i, dummy); // bedKp, bedKi, bedKd
506
+      for (uint8_t q=3; q--;) EEPROM_READ(dummy); // bedKp, bedKi, bedKd
499 507
     #endif
500 508
 
501 509
     #if !HAS_LCD_CONTRAST
502 510
       int lcd_contrast;
503 511
     #endif
504
-    EEPROM_READ_VAR(i, lcd_contrast);
512
+    EEPROM_READ(lcd_contrast);
505 513
 
506 514
     #if ENABLED(SCARA)
507
-      EEPROM_READ_VAR(i, axis_scaling);  // 3 floats
515
+      EEPROM_READ(axis_scaling);  // 3 floats
508 516
     #else
509
-      EEPROM_READ_VAR(i, dummy);
517
+      EEPROM_READ(dummy);
510 518
     #endif
511 519
 
512 520
     #if ENABLED(FWRETRACT)
513
-      EEPROM_READ_VAR(i, autoretract_enabled);
514
-      EEPROM_READ_VAR(i, retract_length);
521
+      EEPROM_READ(autoretract_enabled);
522
+      EEPROM_READ(retract_length);
515 523
       #if EXTRUDERS > 1
516
-        EEPROM_READ_VAR(i, retract_length_swap);
524
+        EEPROM_READ(retract_length_swap);
517 525
       #else
518
-        EEPROM_READ_VAR(i, dummy);
526
+        EEPROM_READ(dummy);
519 527
       #endif
520
-      EEPROM_READ_VAR(i, retract_feedrate_mm_s);
521
-      EEPROM_READ_VAR(i, retract_zlift);
522
-      EEPROM_READ_VAR(i, retract_recover_length);
528
+      EEPROM_READ(retract_feedrate_mm_s);
529
+      EEPROM_READ(retract_zlift);
530
+      EEPROM_READ(retract_recover_length);
523 531
       #if EXTRUDERS > 1
524
-        EEPROM_READ_VAR(i, retract_recover_length_swap);
532
+        EEPROM_READ(retract_recover_length_swap);
525 533
       #else
526
-        EEPROM_READ_VAR(i, dummy);
534
+        EEPROM_READ(dummy);
527 535
       #endif
528
-      EEPROM_READ_VAR(i, retract_recover_feedrate_mm_s);
536
+      EEPROM_READ(retract_recover_feedrate_mm_s);
529 537
     #endif // FWRETRACT
530 538
 
531
-    EEPROM_READ_VAR(i, volumetric_enabled);
539
+    EEPROM_READ(volumetric_enabled);
532 540
 
533 541
     for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) {
534
-      EEPROM_READ_VAR(i, dummy);
542
+      EEPROM_READ(dummy);
535 543
       if (q < COUNT(filament_size)) filament_size[q] = dummy;
536 544
     }
537 545
 
@@ -539,7 +547,7 @@ void Config_RetrieveSettings() {
539 547
       Config_Postprocess();
540 548
       SERIAL_ECHO_START;
541 549
       SERIAL_ECHO(version);
542
-      SERIAL_ECHOPAIR(" stored settings retrieved (", i);
550
+      SERIAL_ECHOPAIR(" stored settings retrieved (", eeprom_index);
543 551
       SERIAL_ECHOLNPGM(" bytes)");
544 552
     }
545 553
     else {

Loading…
İptal
Kaydet