Browse Source

More updates for 8 extruders, REPEAT

Scott Lahteine 5 years ago
parent
commit
f312ddfa4f

+ 13
- 12
Marlin/src/core/drivers.h View File

@@ -57,6 +57,7 @@
57 57
 #define AXIS_DRIVER_TYPE_X(T) _AXIS_DRIVER_TYPE(X,T)
58 58
 #define AXIS_DRIVER_TYPE_Y(T) _AXIS_DRIVER_TYPE(Y,T)
59 59
 #define AXIS_DRIVER_TYPE_Z(T) _AXIS_DRIVER_TYPE(Z,T)
60
+
60 61
 #if EITHER(X_DUAL_STEPPER_DRIVERS, DUAL_X_CARRIAGE)
61 62
   #define AXIS_DRIVER_TYPE_X2(T) _AXIS_DRIVER_TYPE(X2,T)
62 63
 #else
@@ -66,21 +67,21 @@
66 67
 #define AXIS_DRIVER_TYPE_Z2(T) (NUM_Z_STEPPER_DRIVERS >= 2 && _AXIS_DRIVER_TYPE(Z2,T))
67 68
 #define AXIS_DRIVER_TYPE_Z3(T) (NUM_Z_STEPPER_DRIVERS >= 3 && _AXIS_DRIVER_TYPE(Z3,T))
68 69
 #define AXIS_DRIVER_TYPE_Z4(T) (NUM_Z_STEPPER_DRIVERS >= 4 && _AXIS_DRIVER_TYPE(Z4,T))
69
-#define AXIS_DRIVER_TYPE_E0(T) (E_STEPPERS > 0 && _AXIS_DRIVER_TYPE(E0,T))
70
-#define AXIS_DRIVER_TYPE_E1(T) (E_STEPPERS > 1 && _AXIS_DRIVER_TYPE(E1,T))
71
-#define AXIS_DRIVER_TYPE_E2(T) (E_STEPPERS > 2 && _AXIS_DRIVER_TYPE(E2,T))
72
-#define AXIS_DRIVER_TYPE_E3(T) (E_STEPPERS > 3 && _AXIS_DRIVER_TYPE(E3,T))
73
-#define AXIS_DRIVER_TYPE_E4(T) (E_STEPPERS > 4 && _AXIS_DRIVER_TYPE(E4,T))
74
-#define AXIS_DRIVER_TYPE_E5(T) (E_STEPPERS > 5 && _AXIS_DRIVER_TYPE(E5,T))
75
-#define AXIS_DRIVER_TYPE_E6(T) (E_STEPPERS > 6 && _AXIS_DRIVER_TYPE(E6,T))
76
-#define AXIS_DRIVER_TYPE_E7(T) (E_STEPPERS > 7 && _AXIS_DRIVER_TYPE(E7,T))
70
+
71
+#define AXIS_DRIVER_TYPE_E(N,T) (E_STEPPERS > N && _AXIS_DRIVER_TYPE(E##N,T))
72
+#define AXIS_DRIVER_TYPE_E0(T) AXIS_DRIVER_TYPE_E(0,T)
73
+#define AXIS_DRIVER_TYPE_E1(T) AXIS_DRIVER_TYPE_E(1,T)
74
+#define AXIS_DRIVER_TYPE_E2(T) AXIS_DRIVER_TYPE_E(2,T)
75
+#define AXIS_DRIVER_TYPE_E3(T) AXIS_DRIVER_TYPE_E(3,T)
76
+#define AXIS_DRIVER_TYPE_E4(T) AXIS_DRIVER_TYPE_E(4,T)
77
+#define AXIS_DRIVER_TYPE_E5(T) AXIS_DRIVER_TYPE_E(5,T)
78
+#define AXIS_DRIVER_TYPE_E6(T) AXIS_DRIVER_TYPE_E(6,T)
79
+#define AXIS_DRIVER_TYPE_E7(T) AXIS_DRIVER_TYPE_E(7,T)
77 80
 
78 81
 #define AXIS_DRIVER_TYPE(A,T) AXIS_DRIVER_TYPE_##A(T)
79 82
 
80
-#define HAS_E_DRIVER(T) (  AXIS_DRIVER_TYPE_E0(T) || AXIS_DRIVER_TYPE_E1(T) \
81
-                        || AXIS_DRIVER_TYPE_E2(T) || AXIS_DRIVER_TYPE_E3(T) \
82
-                        || AXIS_DRIVER_TYPE_E4(T) || AXIS_DRIVER_TYPE_E5(T) \
83
-                        || AXIS_DRIVER_TYPE_E6(T) || AXIS_DRIVER_TYPE_E7(T) )
83
+#define _OR_ADTE(N,T)   || AXIS_DRIVER_TYPE_E(N,T)
84
+#define HAS_E_DRIVER(T) (0 RREPEAT2(E_STEPPERS, _OR_ADTE, T))
84 85
 
85 86
 #define HAS_DRIVER(T) (    AXIS_DRIVER_TYPE_X(T)  || AXIS_DRIVER_TYPE_X2(T) \
86 87
                         || AXIS_DRIVER_TYPE_Y(T)  || AXIS_DRIVER_TYPE_Y2(T) \

+ 36
- 0
Marlin/src/feature/tmc_util.cpp View File

@@ -439,6 +439,12 @@
439 439
       #if AXIS_IS_TMC(E5)
440 440
         (void)monitor_tmc_driver(stepperE5, need_update_error_counters, need_debug_reporting);
441 441
       #endif
442
+      #if AXIS_IS_TMC(E6)
443
+        (void)monitor_tmc_driver(stepperE6, need_update_error_counters, need_debug_reporting);
444
+      #endif
445
+      #if AXIS_IS_TMC(E7)
446
+        (void)monitor_tmc_driver(stepperE7, need_update_error_counters, need_debug_reporting);
447
+      #endif
442 448
 
443 449
       #if ENABLED(TMC_DEBUG)
444 450
         if (need_debug_reporting) SERIAL_EOL();
@@ -782,6 +788,12 @@
782 788
       #if AXIS_IS_TMC(E5)
783 789
         tmc_status(stepperE5, i);
784 790
       #endif
791
+      #if AXIS_IS_TMC(E6)
792
+        tmc_status(stepperE6, i);
793
+      #endif
794
+      #if AXIS_IS_TMC(E7)
795
+        tmc_status(stepperE7, i);
796
+      #endif
785 797
     }
786 798
 
787 799
     SERIAL_EOL();
@@ -840,6 +852,12 @@
840 852
       #if AXIS_IS_TMC(E5)
841 853
         tmc_parse_drv_status(stepperE5, i);
842 854
       #endif
855
+      #if AXIS_IS_TMC(E6)
856
+        tmc_parse_drv_status(stepperE6, i);
857
+      #endif
858
+      #if AXIS_IS_TMC(E7)
859
+        tmc_parse_drv_status(stepperE7, i);
860
+      #endif
843 861
     }
844 862
 
845 863
     SERIAL_EOL();
@@ -1018,6 +1036,12 @@
1018 1036
       #if AXIS_IS_TMC(E5)
1019 1037
         tmc_get_registers(stepperE5, i);
1020 1038
       #endif
1039
+      #if AXIS_IS_TMC(E6)
1040
+        tmc_get_registers(stepperE6, i);
1041
+      #endif
1042
+      #if AXIS_IS_TMC(E7)
1043
+        tmc_get_registers(stepperE7, i);
1044
+      #endif
1021 1045
     }
1022 1046
 
1023 1047
     SERIAL_EOL();
@@ -1124,6 +1148,12 @@
1124 1148
     #if AXIS_HAS_SPI(E5)
1125 1149
       SET_CS_PIN(E5);
1126 1150
     #endif
1151
+    #if AXIS_HAS_SPI(E6)
1152
+      SET_CS_PIN(E6);
1153
+    #endif
1154
+    #if AXIS_HAS_SPI(E7)
1155
+      SET_CS_PIN(E7);
1156
+    #endif
1127 1157
   }
1128 1158
 #endif // TMC_HAS_SPI
1129 1159
 
@@ -1204,6 +1234,12 @@ void test_tmc_connection(const bool test_x, const bool test_y, const bool test_z
1204 1234
     #if AXIS_IS_TMC(E5)
1205 1235
       axis_connection += test_connection(stepperE5);
1206 1236
     #endif
1237
+    #if AXIS_IS_TMC(E6)
1238
+      axis_connection += test_connection(stepperE6);
1239
+    #endif
1240
+    #if AXIS_IS_TMC(E7)
1241
+      axis_connection += test_connection(stepperE7);
1242
+    #endif
1207 1243
   }
1208 1244
 
1209 1245
   if (axis_connection) ui.set_status_P(GET_TEXT(MSG_ERROR_TMC));

+ 6
- 0
Marlin/src/gcode/feature/L6470/M122.cpp View File

@@ -136,6 +136,12 @@ void GcodeSuite::M122() {
136 136
   #if AXIS_IS_L64XX(E5)
137 137
     L6470_say_status(E5);
138 138
   #endif
139
+  #if AXIS_IS_L64XX(E6)
140
+    L6470_say_status(E6);
141
+  #endif
142
+  #if AXIS_IS_L64XX(E7)
143
+    L6470_say_status(E7);
144
+  #endif
139 145
 
140 146
   L64xxManager.spi_active = false;   // done with all SPI transfers - clear handshake flags
141 147
   L64xxManager.spi_abort = false;

+ 12
- 0
Marlin/src/gcode/feature/L6470/M906.cpp View File

@@ -298,6 +298,12 @@ void GcodeSuite::M906() {
298 298
           #if AXIS_IS_L64XX(E5)
299 299
             case 5: L6470_SET_KVAL_HOLD(E5); break;
300 300
           #endif
301
+          #if AXIS_IS_L64XX(E6)
302
+            case 6: L6470_SET_KVAL_HOLD(E6); break;
303
+          #endif
304
+          #if AXIS_IS_L64XX(E7)
305
+            case 7: L6470_SET_KVAL_HOLD(E7); break;
306
+          #endif
301 307
         }
302 308
       } break;
303 309
     }
@@ -350,6 +356,12 @@ void GcodeSuite::M906() {
350 356
     #if AXIS_IS_L64XX(E5)
351 357
       L64XX_REPORT_CURRENT(E5);
352 358
     #endif
359
+    #if AXIS_IS_L64XX(E6)
360
+      L64XX_REPORT_CURRENT(E6);
361
+    #endif
362
+    #if AXIS_IS_L64XX(E7)
363
+      L64XX_REPORT_CURRENT(E7);
364
+    #endif
353 365
 
354 366
     L64xxManager.spi_active = false;   // done with all SPI transfers - clear handshake flags
355 367
     L64xxManager.spi_abort = false;

+ 12
- 0
Marlin/src/gcode/feature/trinamic/M569.cpp View File

@@ -104,6 +104,12 @@ static void set_stealth_status(const bool enable, const int8_t target_extruder)
104 104
           #if AXIS_HAS_STEALTHCHOP(E5)
105 105
             case 5: TMC_SET_STEALTH(E5); break;
106 106
           #endif
107
+          #if AXIS_HAS_STEALTHCHOP(E6)
108
+            case 6: TMC_SET_STEALTH(E6); break;
109
+          #endif
110
+          #if AXIS_HAS_STEALTHCHOP(E7)
111
+            case 7: TMC_SET_STEALTH(E7); break;
112
+          #endif
107 113
         }
108 114
       } break;
109 115
     }
@@ -155,6 +161,12 @@ static void say_stealth_status() {
155 161
   #if AXIS_HAS_STEALTHCHOP(E5)
156 162
     TMC_SAY_STEALTH_STATUS(E5);
157 163
   #endif
164
+  #if AXIS_HAS_STEALTHCHOP(E6)
165
+    TMC_SAY_STEALTH_STATUS(E6);
166
+  #endif
167
+  #if AXIS_HAS_STEALTHCHOP(E7)
168
+    TMC_SAY_STEALTH_STATUS(E7);
169
+  #endif
158 170
 }
159 171
 
160 172
 /**

+ 12
- 0
Marlin/src/gcode/feature/trinamic/M906.cpp View File

@@ -107,6 +107,12 @@ void GcodeSuite::M906() {
107 107
           #if AXIS_IS_TMC(E5)
108 108
             case 5: TMC_SET_CURRENT(E5); break;
109 109
           #endif
110
+          #if AXIS_IS_TMC(E6)
111
+            case 6: TMC_SET_CURRENT(E6); break;
112
+          #endif
113
+          #if AXIS_IS_TMC(E7)
114
+            case 7: TMC_SET_CURRENT(E7); break;
115
+          #endif
110 116
         }
111 117
       } break;
112 118
     }
@@ -155,6 +161,12 @@ void GcodeSuite::M906() {
155 161
     #if AXIS_IS_TMC(E5)
156 162
       TMC_SAY_CURRENT(E5);
157 163
     #endif
164
+    #if AXIS_IS_TMC(E6)
165
+      TMC_SAY_CURRENT(E6);
166
+    #endif
167
+    #if AXIS_IS_TMC(E7)
168
+      TMC_SAY_CURRENT(E7);
169
+    #endif
158 170
   }
159 171
 }
160 172
 

+ 6
- 0
Marlin/src/gcode/host/M114.cpp View File

@@ -142,6 +142,12 @@
142 142
       #if AXIS_IS_L64XX(E5)
143 143
         REPORT_ABSOLUTE_POS(E5);
144 144
       #endif
145
+      #if AXIS_IS_L64XX(E6)
146
+        REPORT_ABSOLUTE_POS(E6);
147
+      #endif
148
+      #if AXIS_IS_L64XX(E7)
149
+        REPORT_ABSOLUTE_POS(E7);
150
+      #endif
145 151
       SERIAL_EOL();
146 152
     #endif // HAS_L64XX
147 153
 

+ 12
- 0
Marlin/src/lcd/extensible_ui/ui_api.cpp View File

@@ -481,6 +481,12 @@ namespace ExtUI {
481 481
         #if AXIS_IS_TMC(E5)
482 482
           case E5: return stepperE5.getMilliamps();
483 483
         #endif
484
+        #if AXIS_IS_TMC(E6)
485
+          case E6: return stepperE6.getMilliamps();
486
+        #endif
487
+        #if AXIS_IS_TMC(E7)
488
+          case E7: return stepperE7.getMilliamps();
489
+        #endif
484 490
         default: return NAN;
485 491
       };
486 492
     }
@@ -520,6 +526,12 @@ namespace ExtUI {
520 526
         #if AXIS_IS_TMC(E5)
521 527
           case E5: stepperE5.rms_current(constrain(mA, 500, 1500)); break;
522 528
         #endif
529
+        #if AXIS_IS_TMC(E6)
530
+          case E6: stepperE6.rms_current(constrain(mA, 500, 1500)); break;
531
+        #endif
532
+        #if AXIS_IS_TMC(E7)
533
+          case E7: stepperE7.rms_current(constrain(mA, 500, 1500)); break;
534
+        #endif
523 535
         default: break;
524 536
       };
525 537
     }

+ 1
- 1
Marlin/src/lcd/extensible_ui/ui_api.h View File

@@ -53,7 +53,7 @@ namespace ExtUI {
53 53
   static constexpr size_t eeprom_data_size = 48;
54 54
 
55 55
   enum axis_t     : uint8_t { X, Y, Z };
56
-  enum extruder_t : uint8_t { E0, E1, E2, E3, E4, E5 };
56
+  enum extruder_t : uint8_t { E0, E1, E2, E3, E4, E5, E6, E7 };
57 57
   enum heater_t   : uint8_t { H0, H1, H2, H3, H4, H5, BED, CHAMBER };
58 58
   enum fan_t      : uint8_t { FAN0, FAN1, FAN2, FAN3, FAN4, FAN5, FAN6, FAN7 };
59 59
   enum result_t   : uint8_t { PID_BAD_EXTRUDER_NUM, PID_TEMP_TOO_HIGH, PID_TUNING_TIMEOUT, PID_DONE };

+ 37
- 7
Marlin/src/libs/L64XX/L64XX_Marlin.cpp View File

@@ -127,6 +127,12 @@ void L6470_populate_chain_array() {
127 127
   #if AXIS_IS_L64XX(E5)
128 128
     _L6470_INIT_SPI(E5);
129 129
   #endif
130
+  #if AXIS_IS_L64XX(E6)
131
+    _L6470_INIT_SPI(E6);
132
+  #endif
133
+  #if AXIS_IS_L64XX(E7)
134
+    _L6470_INIT_SPI(E7);
135
+  #endif
130 136
 }
131 137
 
132 138
 
@@ -240,6 +246,12 @@ uint16_t L64XX_Marlin::get_status(const L64XX_axis_t axis) {
240 246
     #if AXIS_IS_L64XX(E5)
241 247
       case E5: return STATUS_L6470(E5);
242 248
     #endif
249
+    #if AXIS_IS_L64XX(E6)
250
+      case E6: return STATUS_L6470(E6);
251
+    #endif
252
+    #if AXIS_IS_L64XX(E7)
253
+      case E7: return STATUS_L6470(E7);
254
+    #endif
243 255
   }
244 256
 
245 257
   return 0; // Not needed but kills a compiler warning
@@ -293,6 +305,12 @@ uint32_t L64XX_Marlin::get_param(const L64XX_axis_t axis, const uint8_t param) {
293 305
     #if AXIS_IS_L64XX(E5)
294 306
       case E5: return GET_L6470_PARAM(E5);
295 307
     #endif
308
+    #if AXIS_IS_L64XX(E6)
309
+      case E6: return GET_L6470_PARAM(E6);
310
+    #endif
311
+    #if AXIS_IS_L64XX(E7)
312
+      case E7: return GET_L6470_PARAM(E7);
313
+    #endif
296 314
   }
297 315
 
298 316
   return 0; // not needed but kills a compiler warning
@@ -346,6 +364,12 @@ void L64XX_Marlin::set_param(const L64XX_axis_t axis, const uint8_t param, const
346 364
     #if AXIS_IS_L64XX(E5)
347 365
       case E5: SET_L6470_PARAM(E5); break;
348 366
     #endif
367
+    #if AXIS_IS_L64XX(E6)
368
+      case E6: SET_L6470_PARAM(E6); break;
369
+    #endif
370
+    #if AXIS_IS_L64XX(E7)
371
+      case E7: SET_L6470_PARAM(E7); break;
372
+    #endif
349 373
   }
350 374
 }
351 375
 
@@ -694,25 +718,31 @@ void L64XX_Marlin::say_axis(const L64XX_axis_t axis, const uint8_t label/*=true*
694 718
       {  6, 0, 0, 0, 0, 0, 0 },
695 719
     #endif
696 720
     #if AXIS_IS_L64XX(Z4)
697
-      {  6, 0, 0, 0, 0, 0, 0 },
721
+      {  7, 0, 0, 0, 0, 0, 0 },
698 722
     #endif
699 723
     #if AXIS_IS_L64XX(E0)
700
-      {  7, 0, 0, 0, 0, 0, 0 },
724
+      {  8, 0, 0, 0, 0, 0, 0 },
701 725
     #endif
702 726
     #if AXIS_IS_L64XX(E1)
703
-      {  8, 0, 0, 0, 0, 0, 0 },
727
+      {  9, 0, 0, 0, 0, 0, 0 },
704 728
     #endif
705 729
     #if AXIS_IS_L64XX(E2)
706
-      {  9, 0, 0, 0, 0, 0, 0 },
730
+      { 10, 0, 0, 0, 0, 0, 0 },
707 731
     #endif
708 732
     #if AXIS_IS_L64XX(E3)
709
-      { 10, 0, 0, 0, 0, 0, 0 },
733
+      { 11, 0, 0, 0, 0, 0, 0 },
710 734
     #endif
711 735
     #if AXIS_IS_L64XX(E4)
712
-      { 11, 0, 0, 0, 0, 0, 0 },
736
+      { 12, 0, 0, 0, 0, 0, 0 },
713 737
     #endif
714 738
     #if AXIS_IS_L64XX(E5)
715
-      { 12, 0, 0, 0, 0, 0, 0 }
739
+      { 13, 0, 0, 0, 0, 0, 0 }
740
+    #endif
741
+    #if AXIS_IS_L64XX(E6)
742
+      { 14, 0, 0, 0, 0, 0, 0 }
743
+    #endif
744
+    #if AXIS_IS_L64XX(E7)
745
+      { 16, 0, 0, 0, 0, 0, 0 }
716 746
     #endif
717 747
   };
718 748
 

+ 1
- 1
Marlin/src/libs/L64XX/L64XX_Marlin.h View File

@@ -33,7 +33,7 @@
33 33
 #define dSPIN_STEP_CLOCK      0x58
34 34
 #define dSPIN_STEP_CLOCK_FWD dSPIN_STEP_CLOCK
35 35
 #define dSPIN_STEP_CLOCK_REV dSPIN_STEP_CLOCK+1
36
-#define HAS_L64XX_EXTRUDER (AXIS_IS_L64XX(E0) || AXIS_IS_L64XX(E1) || AXIS_IS_L64XX(E2) || AXIS_IS_L64XX(E3) || AXIS_IS_L64XX(E4) || AXIS_IS_L64XX(E5))
36
+#define HAS_L64XX_EXTRUDER (AXIS_IS_L64XX(E0) || AXIS_IS_L64XX(E1) || AXIS_IS_L64XX(E2) || AXIS_IS_L64XX(E3) || AXIS_IS_L64XX(E4) || AXIS_IS_L64XX(E5) || AXIS_IS_L64XX(E6) || AXIS_IS_L64XX(E7))
37 37
 
38 38
 enum L64XX_axis_t : uint8_t { X, Y, Z, X2, Y2, Z2, Z3, Z4, E0, E1, E2, E3, E4, E5, E6, E7, MAX_L64XX };
39 39
 

+ 40
- 0
Marlin/src/module/configuration_store.cpp View File

@@ -1905,6 +1905,12 @@ void MarlinSettings::postprocess() {
1905 1905
             #if AXIS_IS_TMC(E5)
1906 1906
               SET_CURR(E5);
1907 1907
             #endif
1908
+            #if AXIS_IS_TMC(E6)
1909
+              SET_CURR(E6);
1910
+            #endif
1911
+            #if AXIS_IS_TMC(E7)
1912
+              SET_CURR(E7);
1913
+            #endif
1908 1914
           }
1909 1915
         #endif
1910 1916
       }
@@ -1959,6 +1965,12 @@ void MarlinSettings::postprocess() {
1959 1965
             #if AXIS_HAS_STEALTHCHOP(E5)
1960 1966
               stepperE5.set_pwm_thrs(tmc_hybrid_threshold.E5);
1961 1967
             #endif
1968
+            #if AXIS_HAS_STEALTHCHOP(E6)
1969
+              stepperE6.set_pwm_thrs(tmc_hybrid_threshold.E6);
1970
+            #endif
1971
+            #if AXIS_HAS_STEALTHCHOP(E7)
1972
+              stepperE7.set_pwm_thrs(tmc_hybrid_threshold.E7);
1973
+            #endif
1962 1974
           }
1963 1975
         #endif
1964 1976
       }
@@ -2065,6 +2077,12 @@ void MarlinSettings::postprocess() {
2065 2077
             #if AXIS_HAS_STEALTHCHOP(E5)
2066 2078
               SET_STEPPING_MODE(E5);
2067 2079
             #endif
2080
+            #if AXIS_HAS_STEALTHCHOP(E6)
2081
+              SET_STEPPING_MODE(E6);
2082
+            #endif
2083
+            #if AXIS_HAS_STEALTHCHOP(E7)
2084
+              SET_STEPPING_MODE(E7);
2085
+            #endif
2068 2086
           }
2069 2087
         #endif
2070 2088
       }
@@ -3333,6 +3351,14 @@ void MarlinSettings::reset() {
3333 3351
         say_M906(forReplay);
3334 3352
         SERIAL_ECHOLNPAIR(" T5 E", stepperE5.getMilliamps());
3335 3353
       #endif
3354
+      #if AXIS_IS_TMC(E6)
3355
+        say_M906(forReplay);
3356
+        SERIAL_ECHOLNPAIR(" T6 E", stepperE6.getMilliamps());
3357
+      #endif
3358
+      #if AXIS_IS_TMC(E7)
3359
+        say_M906(forReplay);
3360
+        SERIAL_ECHOLNPAIR(" T7 E", stepperE7.getMilliamps());
3361
+      #endif
3336 3362
       SERIAL_EOL();
3337 3363
 
3338 3364
       /**
@@ -3407,6 +3433,14 @@ void MarlinSettings::reset() {
3407 3433
           say_M913(forReplay);
3408 3434
           SERIAL_ECHOLNPAIR(" T5 E", stepperE5.get_pwm_thrs());
3409 3435
         #endif
3436
+        #if AXIS_HAS_STEALTHCHOP(E6)
3437
+          say_M913(forReplay);
3438
+          SERIAL_ECHOLNPAIR(" T6 E", stepperE6.get_pwm_thrs());
3439
+        #endif
3440
+        #if AXIS_HAS_STEALTHCHOP(E7)
3441
+          say_M913(forReplay);
3442
+          SERIAL_ECHOLNPAIR(" T7 E", stepperE7.get_pwm_thrs());
3443
+        #endif
3410 3444
         SERIAL_EOL();
3411 3445
       #endif // HYBRID_THRESHOLD
3412 3446
 
@@ -3539,6 +3573,12 @@ void MarlinSettings::reset() {
3539 3573
         #if AXIS_HAS_STEALTHCHOP(E5)
3540 3574
           if (stepperE5.get_stealthChop_status()) { say_M569(forReplay, PSTR("T5 E"), true); }
3541 3575
         #endif
3576
+        #if AXIS_HAS_STEALTHCHOP(E6)
3577
+          if (stepperE6.get_stealthChop_status()) { say_M569(forReplay, PSTR("T6 E"), true); }
3578
+        #endif
3579
+        #if AXIS_HAS_STEALTHCHOP(E7)
3580
+          if (stepperE7.get_stealthChop_status()) { say_M569(forReplay, PSTR("T7 E"), true); }
3581
+        #endif
3542 3582
 
3543 3583
       #endif // HAS_STEALTHCHOP
3544 3584
 

+ 12
- 0
Marlin/src/module/stepper/L64xx.cpp View File

@@ -73,6 +73,12 @@
73 73
 #if AXIS_IS_L64XX(E5)
74 74
   L64XX_CLASS(E5) stepperE5(L6470_CHAIN_SS_PIN);
75 75
 #endif
76
+#if AXIS_IS_L64XX(E6)
77
+  L64XX_CLASS(E6) stepperE6(L6470_CHAIN_SS_PIN);
78
+#endif
79
+#if AXIS_IS_L64XX(E7)
80
+  L64XX_CLASS(E7) stepperE7(L6470_CHAIN_SS_PIN);
81
+#endif
76 82
 
77 83
 // Not using L64XX class init method because it
78 84
 // briefly sends power to the steppers
@@ -208,6 +214,12 @@ void L64XX_Marlin::init_to_defaults() {
208 214
   #if AXIS_IS_L64XX(E5)
209 215
     L6470_INIT_CHIP(E5);
210 216
   #endif
217
+  #if AXIS_IS_L64XX(E6)
218
+    L6470_INIT_CHIP(E6);
219
+  #endif
220
+  #if AXIS_IS_L64XX(E7)
221
+    L6470_INIT_CHIP(E7);
222
+  #endif
211 223
 }
212 224
 
213 225
 #endif // HAS_L64XX

+ 6
- 0
Marlin/src/module/stepper/trinamic.cpp View File

@@ -109,6 +109,12 @@ enum StealthIndex : uint8_t { STEALTH_AXIS_XY, STEALTH_AXIS_Z, STEALTH_AXIS_E };
109 109
 #if AXIS_HAS_SPI(E5)
110 110
   TMC_SPI_DEFINE_E(5);
111 111
 #endif
112
+#if AXIS_HAS_SPI(E6)
113
+  TMC_SPI_DEFINE_E(6);
114
+#endif
115
+#if AXIS_HAS_SPI(E7)
116
+  TMC_SPI_DEFINE_E(7);
117
+#endif
112 118
 
113 119
 #ifndef TMC_BAUD_RATE
114 120
   #define TMC_BAUD_RATE 115200

Loading…
Cancel
Save