瀏覽代碼

Merge pull request #3177 from thinkyhead/rc_finish_M665

Include M665 "ABC" parameters in EEPROM
Scott Lahteine 9 年之前
父節點
當前提交
8d9cf72db0
共有 2 個文件被更改,包括 55 次插入37 次删除
  1. 7
    4
      Marlin/Marlin.h
  2. 48
    33
      Marlin/configuration_store.cpp

+ 7
- 4
Marlin/Marlin.h 查看文件

259
 extern bool axis_homed[3]; // axis[n].is_homed
259
 extern bool axis_homed[3]; // axis[n].is_homed
260
 
260
 
261
 #if ENABLED(DELTA)
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
   #ifndef DELTA_RADIUS_TRIM_TOWER_1
262
   #ifndef DELTA_RADIUS_TRIM_TOWER_1
266
     #define DELTA_RADIUS_TRIM_TOWER_1 0.0
263
     #define DELTA_RADIUS_TRIM_TOWER_1 0.0
267
   #endif
264
   #endif
271
   #ifndef DELTA_RADIUS_TRIM_TOWER_3
268
   #ifndef DELTA_RADIUS_TRIM_TOWER_3
272
     #define DELTA_RADIUS_TRIM_TOWER_3 0.0
269
     #define DELTA_RADIUS_TRIM_TOWER_3 0.0
273
   #endif
270
   #endif
274
-  extern float delta_diagonal_rod;
275
   #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER_1
271
   #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER_1
276
     #define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
272
     #define DELTA_DIAGONAL_ROD_TRIM_TOWER_1 0.0
277
   #endif
273
   #endif
281
   #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER_3
277
   #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER_3
282
     #define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
278
     #define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
283
   #endif
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
   extern float delta_segments_per_second;
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
   void calculate_delta(float cartesian[3]);
288
   void calculate_delta(float cartesian[3]);
286
   void recalc_delta_settings(float radius, float diagonal_rod);
289
   void recalc_delta_settings(float radius, float diagonal_rod);
287
   #if ENABLED(AUTO_BED_LEVELING_FEATURE)
290
   #if ENABLED(AUTO_BED_LEVELING_FEATURE)

+ 48
- 33
Marlin/configuration_store.cpp 查看文件

14
  *
14
  *
15
  */
15
  */
16
 
16
 
17
-#define EEPROM_VERSION "V21"
17
+#define EEPROM_VERSION "V22"
18
 
18
 
19
 /**
19
 /**
20
  * V21 EEPROM Layout:
20
  * V21 EEPROM Layout:
47
  *  255  M665 R    delta_radius (float)
47
  *  255  M665 R    delta_radius (float)
48
  *  259  M665 L    delta_diagonal_rod (float)
48
  *  259  M665 L    delta_diagonal_rod (float)
49
  *  263  M665 S    delta_segments_per_second (float)
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
  * Z_DUAL_ENDSTOPS:
54
  * Z_DUAL_ENDSTOPS:
52
- *  267  M666 Z    z_endstop_adj (float)
55
+ *  279  M666 Z    z_endstop_adj (float)
53
  *
56
  *
54
  * ULTIPANEL:
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
  * PIDTEMP:
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
  * PIDTEMPBED:
72
  * PIDTEMPBED:
70
- *  349  M304 PID  bedKp, bedKi, bedKd (float x3)
73
+ *  361  M304 PID  bedKp, bedKi, bedKd (float x3)
71
  *
74
  *
72
  * DOGLCD:
75
  * DOGLCD:
73
- *  361  M250 C    lcd_contrast (int)
76
+ *  373  M250 C    lcd_contrast (int)
74
  *
77
  *
75
  * SCARA:
78
  * SCARA:
76
- *  363  M365 XYZ  axis_scaling (float x3)
79
+ *  375  M365 XYZ  axis_scaling (float x3)
77
  *
80
  *
78
  * FWRETRACT:
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
  * Volumetric Extrusion:
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
 #include "Marlin.h"
98
 #include "Marlin.h"
189
     EEPROM_WRITE_VAR(i, delta_radius);              // 1 float
192
     EEPROM_WRITE_VAR(i, delta_radius);              // 1 float
190
     EEPROM_WRITE_VAR(i, delta_diagonal_rod);        // 1 float
193
     EEPROM_WRITE_VAR(i, delta_diagonal_rod);        // 1 float
191
     EEPROM_WRITE_VAR(i, delta_segments_per_second); // 1 float
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
   #elif ENABLED(Z_DUAL_ENDSTOPS)
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
     dummy = 0.0f;
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
   #else
202
   #else
197
     dummy = 0.0f;
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
   #endif
205
   #endif
200
 
206
 
201
   #if DISABLED(ULTIPANEL)
207
   #if DISABLED(ULTIPANEL)
362
       EEPROM_READ_VAR(i, delta_radius);               // 1 float
368
       EEPROM_READ_VAR(i, delta_radius);               // 1 float
363
       EEPROM_READ_VAR(i, delta_diagonal_rod);         // 1 float
369
       EEPROM_READ_VAR(i, delta_diagonal_rod);         // 1 float
364
       EEPROM_READ_VAR(i, delta_segments_per_second);  // 1 float
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
     #elif ENABLED(Z_DUAL_ENDSTOPS)
374
     #elif ENABLED(Z_DUAL_ENDSTOPS)
366
       EEPROM_READ_VAR(i, z_endstop_adj);
375
       EEPROM_READ_VAR(i, z_endstop_adj);
367
       dummy = 0.0f;
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
     #else
378
     #else
370
       dummy = 0.0f;
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
     #endif
381
     #endif
373
 
382
 
374
     #if DISABLED(ULTIPANEL)
383
     #if DISABLED(ULTIPANEL)
525
     delta_radius =  DELTA_RADIUS;
534
     delta_radius =  DELTA_RADIUS;
526
     delta_diagonal_rod =  DELTA_DIAGONAL_ROD;
535
     delta_diagonal_rod =  DELTA_DIAGONAL_ROD;
527
     delta_segments_per_second =  DELTA_SEGMENTS_PER_SECOND;
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
     recalc_delta_settings(delta_radius, delta_diagonal_rod);
540
     recalc_delta_settings(delta_radius, delta_diagonal_rod);
529
   #elif ENABLED(Z_DUAL_ENDSTOPS)
541
   #elif ENABLED(Z_DUAL_ENDSTOPS)
530
     z_endstop_adj = 0;
542
     z_endstop_adj = 0;
716
     SERIAL_EOL;
728
     SERIAL_EOL;
717
     CONFIG_ECHO_START;
729
     CONFIG_ECHO_START;
718
     if (!forReplay) {
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
       CONFIG_ECHO_START;
732
       CONFIG_ECHO_START;
721
     }
733
     }
722
     SERIAL_ECHOPAIR("  M665 L", delta_diagonal_rod);
734
     SERIAL_ECHOPAIR("  M665 L", delta_diagonal_rod);
723
     SERIAL_ECHOPAIR(" R", delta_radius);
735
     SERIAL_ECHOPAIR(" R", delta_radius);
724
     SERIAL_ECHOPAIR(" S", delta_segments_per_second);
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
     SERIAL_EOL;
740
     SERIAL_EOL;
726
   #elif ENABLED(Z_DUAL_ENDSTOPS)
741
   #elif ENABLED(Z_DUAL_ENDSTOPS)
727
     CONFIG_ECHO_START;
742
     CONFIG_ECHO_START;

Loading…
取消
儲存