|
@@ -36,10 +36,10 @@
|
36
|
36
|
*
|
37
|
37
|
*/
|
38
|
38
|
|
39
|
|
-#define EEPROM_VERSION "V22"
|
|
39
|
+#define EEPROM_VERSION "V23"
|
40
|
40
|
|
41
|
41
|
/**
|
42
|
|
- * V21 EEPROM Layout:
|
|
42
|
+ * V23 EEPROM Layout:
|
43
|
43
|
*
|
44
|
44
|
* 100 Version (char x4)
|
45
|
45
|
*
|
|
@@ -59,62 +59,65 @@
|
59
|
59
|
*
|
60
|
60
|
* Mesh bed leveling:
|
61
|
61
|
* 200 M420 S active (bool)
|
62
|
|
- * 201 mesh_num_x (uint8 as set in firmware)
|
63
|
|
- * 202 mesh_num_y (uint8 as set in firmware)
|
64
|
|
- * 203 M421 XYZ z_values[][] (float x9, by default)
|
65
|
|
- * 239 M851 zprobe_zoffset (float)
|
|
62
|
+ * 201 z_offset (float) (added in V23)
|
|
63
|
+ * 205 mesh_num_x (uint8 as set in firmware)
|
|
64
|
+ * 206 mesh_num_y (uint8 as set in firmware)
|
|
65
|
+ * 207 M421 XYZ z_values[][] (float x9, by default)
|
|
66
|
+ *
|
|
67
|
+ * AUTO BED LEVELING
|
|
68
|
+ * 243 M851 zprobe_zoffset (float)
|
66
|
69
|
*
|
67
|
70
|
* DELTA:
|
68
|
|
- * 243 M666 XYZ endstop_adj (float x3)
|
69
|
|
- * 255 M665 R delta_radius (float)
|
70
|
|
- * 259 M665 L delta_diagonal_rod (float)
|
71
|
|
- * 263 M665 S delta_segments_per_second (float)
|
72
|
|
- * 267 M665 A delta_diagonal_rod_trim_tower_1 (float)
|
73
|
|
- * 271 M665 B delta_diagonal_rod_trim_tower_2 (float)
|
74
|
|
- * 275 M665 C delta_diagonal_rod_trim_tower_3 (float)
|
|
71
|
+ * 247 M666 XYZ endstop_adj (float x3)
|
|
72
|
+ * 259 M665 R delta_radius (float)
|
|
73
|
+ * 263 M665 L delta_diagonal_rod (float)
|
|
74
|
+ * 267 M665 S delta_segments_per_second (float)
|
|
75
|
+ * 271 M665 A delta_diagonal_rod_trim_tower_1 (float)
|
|
76
|
+ * 275 M665 B delta_diagonal_rod_trim_tower_2 (float)
|
|
77
|
+ * 279 M665 C delta_diagonal_rod_trim_tower_3 (float)
|
75
|
78
|
*
|
76
|
79
|
* Z_DUAL_ENDSTOPS:
|
77
|
|
- * 279 M666 Z z_endstop_adj (float)
|
|
80
|
+ * 283 M666 Z z_endstop_adj (float)
|
78
|
81
|
*
|
79
|
82
|
* ULTIPANEL:
|
80
|
|
- * 283 M145 S0 H plaPreheatHotendTemp (int)
|
81
|
|
- * 285 M145 S0 B plaPreheatHPBTemp (int)
|
82
|
|
- * 287 M145 S0 F plaPreheatFanSpeed (int)
|
83
|
|
- * 289 M145 S1 H absPreheatHotendTemp (int)
|
84
|
|
- * 291 M145 S1 B absPreheatHPBTemp (int)
|
85
|
|
- * 293 M145 S1 F absPreheatFanSpeed (int)
|
|
83
|
+ * 287 M145 S0 H plaPreheatHotendTemp (int)
|
|
84
|
+ * 289 M145 S0 B plaPreheatHPBTemp (int)
|
|
85
|
+ * 291 M145 S0 F plaPreheatFanSpeed (int)
|
|
86
|
+ * 293 M145 S1 H absPreheatHotendTemp (int)
|
|
87
|
+ * 295 M145 S1 B absPreheatHPBTemp (int)
|
|
88
|
+ * 297 M145 S1 F absPreheatFanSpeed (int)
|
86
|
89
|
*
|
87
|
90
|
* PIDTEMP:
|
88
|
|
- * 295 M301 E0 PIDC Kp[0], Ki[0], Kd[0], Kc[0] (float x4)
|
89
|
|
- * 311 M301 E1 PIDC Kp[1], Ki[1], Kd[1], Kc[1] (float x4)
|
90
|
|
- * 327 M301 E2 PIDC Kp[2], Ki[2], Kd[2], Kc[2] (float x4)
|
91
|
|
- * 343 M301 E3 PIDC Kp[3], Ki[3], Kd[3], Kc[3] (float x4)
|
92
|
|
- * 359 M301 L lpq_len (int)
|
|
91
|
+ * 299 M301 E0 PIDC Kp[0], Ki[0], Kd[0], Kc[0] (float x4)
|
|
92
|
+ * 315 M301 E1 PIDC Kp[1], Ki[1], Kd[1], Kc[1] (float x4)
|
|
93
|
+ * 331 M301 E2 PIDC Kp[2], Ki[2], Kd[2], Kc[2] (float x4)
|
|
94
|
+ * 347 M301 E3 PIDC Kp[3], Ki[3], Kd[3], Kc[3] (float x4)
|
|
95
|
+ * 363 M301 L lpq_len (int)
|
93
|
96
|
*
|
94
|
97
|
* PIDTEMPBED:
|
95
|
|
- * 361 M304 PID bedKp, bedKi, bedKd (float x3)
|
|
98
|
+ * 365 M304 PID bedKp, bedKi, bedKd (float x3)
|
96
|
99
|
*
|
97
|
100
|
* DOGLCD:
|
98
|
|
- * 373 M250 C lcd_contrast (int)
|
|
101
|
+ * 377 M250 C lcd_contrast (int)
|
99
|
102
|
*
|
100
|
103
|
* SCARA:
|
101
|
|
- * 375 M365 XYZ axis_scaling (float x3)
|
|
104
|
+ * 379 M365 XYZ axis_scaling (float x3)
|
102
|
105
|
*
|
103
|
106
|
* FWRETRACT:
|
104
|
|
- * 387 M209 S autoretract_enabled (bool)
|
105
|
|
- * 388 M207 S retract_length (float)
|
106
|
|
- * 392 M207 W retract_length_swap (float)
|
107
|
|
- * 396 M207 F retract_feedrate (float)
|
108
|
|
- * 400 M207 Z retract_zlift (float)
|
109
|
|
- * 404 M208 S retract_recover_length (float)
|
110
|
|
- * 408 M208 W retract_recover_length_swap (float)
|
111
|
|
- * 412 M208 F retract_recover_feedrate (float)
|
|
107
|
+ * 391 M209 S autoretract_enabled (bool)
|
|
108
|
+ * 392 M207 S retract_length (float)
|
|
109
|
+ * 396 M207 W retract_length_swap (float)
|
|
110
|
+ * 400 M207 F retract_feedrate (float)
|
|
111
|
+ * 404 M207 Z retract_zlift (float)
|
|
112
|
+ * 408 M208 S retract_recover_length (float)
|
|
113
|
+ * 412 M208 W retract_recover_length_swap (float)
|
|
114
|
+ * 416 M208 F retract_recover_feedrate (float)
|
112
|
115
|
*
|
113
|
116
|
* Volumetric Extrusion:
|
114
|
|
- * 416 M200 D volumetric_enabled (bool)
|
115
|
|
- * 417 M200 T D filament_size (float x4) (T0..3)
|
|
117
|
+ * 420 M200 D volumetric_enabled (bool)
|
|
118
|
+ * 421 M200 T D filament_size (float x4) (T0..3)
|
116
|
119
|
*
|
117
|
|
- * 433 This Slot is Available!
|
|
120
|
+ * 437 This Slot is Available!
|
118
|
121
|
*
|
119
|
122
|
*/
|
120
|
123
|
#include "Marlin.h"
|
|
@@ -192,15 +195,17 @@ void Config_StoreSettings() {
|
192
|
195
|
mesh_num_x = MESH_NUM_X_POINTS;
|
193
|
196
|
mesh_num_y = MESH_NUM_Y_POINTS;
|
194
|
197
|
EEPROM_WRITE_VAR(i, mbl.active);
|
|
198
|
+ EEPROM_WRITE_VAR(i, mbl.z_offset);
|
195
|
199
|
EEPROM_WRITE_VAR(i, mesh_num_x);
|
196
|
200
|
EEPROM_WRITE_VAR(i, mesh_num_y);
|
197
|
201
|
EEPROM_WRITE_VAR(i, mbl.z_values);
|
198
|
202
|
#else
|
199
|
203
|
uint8_t dummy_uint8 = 0;
|
|
204
|
+ dummy = 0.0f;
|
200
|
205
|
EEPROM_WRITE_VAR(i, dummy_uint8);
|
|
206
|
+ EEPROM_WRITE_VAR(i, dummy);
|
201
|
207
|
EEPROM_WRITE_VAR(i, mesh_num_x);
|
202
|
208
|
EEPROM_WRITE_VAR(i, mesh_num_y);
|
203
|
|
- dummy = 0.0f;
|
204
|
209
|
for (uint8_t q = 0; q < mesh_num_x * mesh_num_y; q++) EEPROM_WRITE_VAR(i, dummy);
|
205
|
210
|
#endif // MESH_BED_LEVELING
|
206
|
211
|
|
|
@@ -366,10 +371,12 @@ void Config_RetrieveSettings() {
|
366
|
371
|
|
367
|
372
|
uint8_t dummy_uint8 = 0, mesh_num_x = 0, mesh_num_y = 0;
|
368
|
373
|
EEPROM_READ_VAR(i, dummy_uint8);
|
|
374
|
+ EEPROM_READ_VAR(i, dummy);
|
369
|
375
|
EEPROM_READ_VAR(i, mesh_num_x);
|
370
|
376
|
EEPROM_READ_VAR(i, mesh_num_y);
|
371
|
377
|
#if ENABLED(MESH_BED_LEVELING)
|
372
|
378
|
mbl.active = dummy_uint8;
|
|
379
|
+ mbl.z_offset = dummy;
|
373
|
380
|
if (mesh_num_x == MESH_NUM_X_POINTS && mesh_num_y == MESH_NUM_Y_POINTS) {
|
374
|
381
|
EEPROM_READ_VAR(i, mbl.z_values);
|
375
|
382
|
} else {
|