Browse Source

Include M65 "ABC" parameters in EEPROM

Addressing #2773
Scott Lahteine 8 years ago
parent
commit
a02ae36ae8
2 changed files with 55 additions and 37 deletions
  1. 7
    4
      Marlin/Marlin.h
  2. 48
    33
      Marlin/configuration_store.cpp

+ 7
- 4
Marlin/Marlin.h View File

@@ -259,9 +259,6 @@ extern bool axis_known_position[3]; // axis[n].is_known
259 259
 extern bool axis_homed[3]; // axis[n].is_homed
260 260
 
261 261
 #if ENABLED(DELTA)
262
-  extern float delta[3];
263
-  extern float endstop_adj[3]; // axis[n].endstop_adj
264
-  extern float delta_radius;
265 262
   #ifndef DELTA_RADIUS_TRIM_TOWER_1
266 263
     #define DELTA_RADIUS_TRIM_TOWER_1 0.0
267 264
   #endif
@@ -271,7 +268,6 @@ extern bool axis_homed[3]; // axis[n].is_homed
271 268
   #ifndef DELTA_RADIUS_TRIM_TOWER_3
272 269
     #define DELTA_RADIUS_TRIM_TOWER_3 0.0
273 270
   #endif
274
-  extern float delta_diagonal_rod;
275 271
   #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER_1
276 272
     #define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
277 273
   #endif
@@ -281,7 +277,14 @@ extern bool axis_homed[3]; // axis[n].is_homed
281 277
   #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER_3
282 278
     #define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
283 279
   #endif
280
+  extern float delta[3];
281
+  extern float endstop_adj[3]; // axis[n].endstop_adj
282
+  extern float delta_radius;
283
+  extern float delta_diagonal_rod;
284 284
   extern float delta_segments_per_second;
285
+  extern float delta_diagonal_rod_trim_tower_1;
286
+  extern float delta_diagonal_rod_trim_tower_2;
287
+  extern float delta_diagonal_rod_trim_tower_3;
285 288
   void calculate_delta(float cartesian[3]);
286 289
   void recalc_delta_settings(float radius, float diagonal_rod);
287 290
   #if ENABLED(AUTO_BED_LEVELING_FEATURE)

+ 48
- 33
Marlin/configuration_store.cpp View File

@@ -14,7 +14,7 @@
14 14
  *
15 15
  */
16 16
 
17
-#define EEPROM_VERSION "V21"
17
+#define EEPROM_VERSION "V22"
18 18
 
19 19
 /**
20 20
  * V21 EEPROM Layout:
@@ -47,49 +47,52 @@
47 47
  *  255  M665 R    delta_radius (float)
48 48
  *  259  M665 L    delta_diagonal_rod (float)
49 49
  *  263  M665 S    delta_segments_per_second (float)
50
+ *  267  M665 A    delta_diagonal_rod_trim_tower_1 (float)
51
+ *  271  M665 B    delta_diagonal_rod_trim_tower_2 (float)
52
+ *  275  M665 C    delta_diagonal_rod_trim_tower_3 (float)
50 53
  *
51 54
  * Z_DUAL_ENDSTOPS:
52
- *  267  M666 Z    z_endstop_adj (float)
55
+ *  279  M666 Z    z_endstop_adj (float)
53 56
  *
54 57
  * ULTIPANEL:
55
- *  271  M145 S0 H plaPreheatHotendTemp (int)
56
- *  273  M145 S0 B plaPreheatHPBTemp (int)
57
- *  275  M145 S0 F plaPreheatFanSpeed (int)
58
- *  277  M145 S1 H absPreheatHotendTemp (int)
59
- *  279  M145 S1 B absPreheatHPBTemp (int)
60
- *  281  M145 S1 F absPreheatFanSpeed (int)
58
+ *  283  M145 S0 H plaPreheatHotendTemp (int)
59
+ *  285  M145 S0 B plaPreheatHPBTemp (int)
60
+ *  287  M145 S0 F plaPreheatFanSpeed (int)
61
+ *  289  M145 S1 H absPreheatHotendTemp (int)
62
+ *  291  M145 S1 B absPreheatHPBTemp (int)
63
+ *  293  M145 S1 F absPreheatFanSpeed (int)
61 64
  *
62 65
  * PIDTEMP:
63
- *  283  M301 E0 PIDC  Kp[0], Ki[0], Kd[0], Kc[0] (float x4)
64
- *  299  M301 E1 PIDC  Kp[1], Ki[1], Kd[1], Kc[1] (float x4)
65
- *  315  M301 E2 PIDC  Kp[2], Ki[2], Kd[2], Kc[2] (float x4)
66
- *  331  M301 E3 PIDC  Kp[3], Ki[3], Kd[3], Kc[3] (float x4)
67
- *  347  M301 L        lpq_len (int)
66
+ *  295  M301 E0 PIDC  Kp[0], Ki[0], Kd[0], Kc[0] (float x4)
67
+ *  311  M301 E1 PIDC  Kp[1], Ki[1], Kd[1], Kc[1] (float x4)
68
+ *  327  M301 E2 PIDC  Kp[2], Ki[2], Kd[2], Kc[2] (float x4)
69
+ *  343  M301 E3 PIDC  Kp[3], Ki[3], Kd[3], Kc[3] (float x4)
70
+ *  359  M301 L        lpq_len (int)
68 71
  *
69 72
  * PIDTEMPBED:
70
- *  349  M304 PID  bedKp, bedKi, bedKd (float x3)
73
+ *  361  M304 PID  bedKp, bedKi, bedKd (float x3)
71 74
  *
72 75
  * DOGLCD:
73
- *  361  M250 C    lcd_contrast (int)
76
+ *  373  M250 C    lcd_contrast (int)
74 77
  *
75 78
  * SCARA:
76
- *  363  M365 XYZ  axis_scaling (float x3)
79
+ *  375  M365 XYZ  axis_scaling (float x3)
77 80
  *
78 81
  * FWRETRACT:
79
- *  375  M209 S    autoretract_enabled (bool)
80
- *  376  M207 S    retract_length (float)
81
- *  380  M207 W    retract_length_swap (float)
82
- *  384  M207 F    retract_feedrate (float)
83
- *  388  M207 Z    retract_zlift (float)
84
- *  392  M208 S    retract_recover_length (float)
85
- *  396  M208 W    retract_recover_length_swap (float)
86
- *  400  M208 F    retract_recover_feedrate (float)
82
+ *  387  M209 S    autoretract_enabled (bool)
83
+ *  388  M207 S    retract_length (float)
84
+ *  392  M207 W    retract_length_swap (float)
85
+ *  396  M207 F    retract_feedrate (float)
86
+ *  400  M207 Z    retract_zlift (float)
87
+ *  404  M208 S    retract_recover_length (float)
88
+ *  408  M208 W    retract_recover_length_swap (float)
89
+ *  412  M208 F    retract_recover_feedrate (float)
87 90
  *
88 91
  * Volumetric Extrusion:
89
- *  404  M200 D    volumetric_enabled (bool)
90
- *  405  M200 T D  filament_size (float x4) (T0..3)
92
+ *  416  M200 D    volumetric_enabled (bool)
93
+ *  417  M200 T D  filament_size (float x4) (T0..3)
91 94
  *
92
- *  421  This Slot is Available!
95
+ *  433  This Slot is Available!
93 96
  *
94 97
  */
95 98
 #include "Marlin.h"
@@ -189,13 +192,16 @@ void Config_StoreSettings()  {
189 192
     EEPROM_WRITE_VAR(i, delta_radius);              // 1 float
190 193
     EEPROM_WRITE_VAR(i, delta_diagonal_rod);        // 1 float
191 194
     EEPROM_WRITE_VAR(i, delta_segments_per_second); // 1 float
195
+    EEPROM_WRITE_VAR(i, delta_diagonal_rod_trim_tower_1);  // 1 float
196
+    EEPROM_WRITE_VAR(i, delta_diagonal_rod_trim_tower_2);  // 1 float
197
+    EEPROM_WRITE_VAR(i, delta_diagonal_rod_trim_tower_3);  // 1 float
192 198
   #elif ENABLED(Z_DUAL_ENDSTOPS)
193
-    EEPROM_WRITE_VAR(i, z_endstop_adj);            // 1 floats
199
+    EEPROM_WRITE_VAR(i, z_endstop_adj);            // 1 float
194 200
     dummy = 0.0f;
195
-    for (uint8_t q = 5; q--;) EEPROM_WRITE_VAR(i, dummy);
201
+    for (uint8_t q = 8; q--;) EEPROM_WRITE_VAR(i, dummy);
196 202
   #else
197 203
     dummy = 0.0f;
198
-    for (uint8_t q = 6; q--;) EEPROM_WRITE_VAR(i, dummy);
204
+    for (uint8_t q = 9; q--;) EEPROM_WRITE_VAR(i, dummy);
199 205
   #endif
200 206
 
201 207
   #if DISABLED(ULTIPANEL)
@@ -362,13 +368,16 @@ void Config_RetrieveSettings() {
362 368
       EEPROM_READ_VAR(i, delta_radius);               // 1 float
363 369
       EEPROM_READ_VAR(i, delta_diagonal_rod);         // 1 float
364 370
       EEPROM_READ_VAR(i, delta_segments_per_second);  // 1 float
371
+      EEPROM_READ_VAR(i, delta_diagonal_rod_trim_tower_1);  // 1 float
372
+      EEPROM_READ_VAR(i, delta_diagonal_rod_trim_tower_2);  // 1 float
373
+      EEPROM_READ_VAR(i, delta_diagonal_rod_trim_tower_3);  // 1 float
365 374
     #elif ENABLED(Z_DUAL_ENDSTOPS)
366 375
       EEPROM_READ_VAR(i, z_endstop_adj);
367 376
       dummy = 0.0f;
368
-      for (uint8_t q=5; q--;) EEPROM_READ_VAR(i, dummy);
377
+      for (uint8_t q=8; q--;) EEPROM_READ_VAR(i, dummy);
369 378
     #else
370 379
       dummy = 0.0f;
371
-      for (uint8_t q=6; q--;) EEPROM_READ_VAR(i, dummy);
380
+      for (uint8_t q=9; q--;) EEPROM_READ_VAR(i, dummy);
372 381
     #endif
373 382
 
374 383
     #if DISABLED(ULTIPANEL)
@@ -525,6 +534,9 @@ void Config_ResetDefault() {
525 534
     delta_radius =  DELTA_RADIUS;
526 535
     delta_diagonal_rod =  DELTA_DIAGONAL_ROD;
527 536
     delta_segments_per_second =  DELTA_SEGMENTS_PER_SECOND;
537
+    delta_diagonal_rod_trim_tower_1 = DELTA_DIAGONAL_ROD_TRIM_TOWER_1;
538
+    delta_diagonal_rod_trim_tower_2 = DELTA_DIAGONAL_ROD_TRIM_TOWER_2;
539
+    delta_diagonal_rod_trim_tower_3 = DELTA_DIAGONAL_ROD_TRIM_TOWER_3;
528 540
     recalc_delta_settings(delta_radius, delta_diagonal_rod);
529 541
   #elif ENABLED(Z_DUAL_ENDSTOPS)
530 542
     z_endstop_adj = 0;
@@ -716,12 +728,15 @@ void Config_PrintSettings(bool forReplay) {
716 728
     SERIAL_EOL;
717 729
     CONFIG_ECHO_START;
718 730
     if (!forReplay) {
719
-      SERIAL_ECHOLNPGM("Delta settings: L=delta_diagonal_rod, R=delta_radius, S=delta_segments_per_second");
731
+      SERIAL_ECHOLNPGM("Delta settings: L=diagonal_rod, R=radius, S=segments_per_second, ABC=diagonal_rod_trim_tower_[123]");
720 732
       CONFIG_ECHO_START;
721 733
     }
722 734
     SERIAL_ECHOPAIR("  M665 L", delta_diagonal_rod);
723 735
     SERIAL_ECHOPAIR(" R", delta_radius);
724 736
     SERIAL_ECHOPAIR(" S", delta_segments_per_second);
737
+    SERIAL_ECHOPAIR(" A", delta_diagonal_rod_trim_tower_1);
738
+    SERIAL_ECHOPAIR(" B", delta_diagonal_rod_trim_tower_2);
739
+    SERIAL_ECHOPAIR(" C", delta_diagonal_rod_trim_tower_3);
725 740
     SERIAL_EOL;
726 741
   #elif ENABLED(Z_DUAL_ENDSTOPS)
727 742
     CONFIG_ECHO_START;

Loading…
Cancel
Save