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
 #define AXIS_DRIVER_TYPE_X(T) _AXIS_DRIVER_TYPE(X,T)
57
 #define AXIS_DRIVER_TYPE_X(T) _AXIS_DRIVER_TYPE(X,T)
58
 #define AXIS_DRIVER_TYPE_Y(T) _AXIS_DRIVER_TYPE(Y,T)
58
 #define AXIS_DRIVER_TYPE_Y(T) _AXIS_DRIVER_TYPE(Y,T)
59
 #define AXIS_DRIVER_TYPE_Z(T) _AXIS_DRIVER_TYPE(Z,T)
59
 #define AXIS_DRIVER_TYPE_Z(T) _AXIS_DRIVER_TYPE(Z,T)
60
+
60
 #if EITHER(X_DUAL_STEPPER_DRIVERS, DUAL_X_CARRIAGE)
61
 #if EITHER(X_DUAL_STEPPER_DRIVERS, DUAL_X_CARRIAGE)
61
   #define AXIS_DRIVER_TYPE_X2(T) _AXIS_DRIVER_TYPE(X2,T)
62
   #define AXIS_DRIVER_TYPE_X2(T) _AXIS_DRIVER_TYPE(X2,T)
62
 #else
63
 #else
66
 #define AXIS_DRIVER_TYPE_Z2(T) (NUM_Z_STEPPER_DRIVERS >= 2 && _AXIS_DRIVER_TYPE(Z2,T))
67
 #define AXIS_DRIVER_TYPE_Z2(T) (NUM_Z_STEPPER_DRIVERS >= 2 && _AXIS_DRIVER_TYPE(Z2,T))
67
 #define AXIS_DRIVER_TYPE_Z3(T) (NUM_Z_STEPPER_DRIVERS >= 3 && _AXIS_DRIVER_TYPE(Z3,T))
68
 #define AXIS_DRIVER_TYPE_Z3(T) (NUM_Z_STEPPER_DRIVERS >= 3 && _AXIS_DRIVER_TYPE(Z3,T))
68
 #define AXIS_DRIVER_TYPE_Z4(T) (NUM_Z_STEPPER_DRIVERS >= 4 && _AXIS_DRIVER_TYPE(Z4,T))
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
 #define AXIS_DRIVER_TYPE(A,T) AXIS_DRIVER_TYPE_##A(T)
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
 #define HAS_DRIVER(T) (    AXIS_DRIVER_TYPE_X(T)  || AXIS_DRIVER_TYPE_X2(T) \
86
 #define HAS_DRIVER(T) (    AXIS_DRIVER_TYPE_X(T)  || AXIS_DRIVER_TYPE_X2(T) \
86
                         || AXIS_DRIVER_TYPE_Y(T)  || AXIS_DRIVER_TYPE_Y2(T) \
87
                         || AXIS_DRIVER_TYPE_Y(T)  || AXIS_DRIVER_TYPE_Y2(T) \

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

439
       #if AXIS_IS_TMC(E5)
439
       #if AXIS_IS_TMC(E5)
440
         (void)monitor_tmc_driver(stepperE5, need_update_error_counters, need_debug_reporting);
440
         (void)monitor_tmc_driver(stepperE5, need_update_error_counters, need_debug_reporting);
441
       #endif
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
       #if ENABLED(TMC_DEBUG)
449
       #if ENABLED(TMC_DEBUG)
444
         if (need_debug_reporting) SERIAL_EOL();
450
         if (need_debug_reporting) SERIAL_EOL();
782
       #if AXIS_IS_TMC(E5)
788
       #if AXIS_IS_TMC(E5)
783
         tmc_status(stepperE5, i);
789
         tmc_status(stepperE5, i);
784
       #endif
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
     SERIAL_EOL();
799
     SERIAL_EOL();
840
       #if AXIS_IS_TMC(E5)
852
       #if AXIS_IS_TMC(E5)
841
         tmc_parse_drv_status(stepperE5, i);
853
         tmc_parse_drv_status(stepperE5, i);
842
       #endif
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
     SERIAL_EOL();
863
     SERIAL_EOL();
1018
       #if AXIS_IS_TMC(E5)
1036
       #if AXIS_IS_TMC(E5)
1019
         tmc_get_registers(stepperE5, i);
1037
         tmc_get_registers(stepperE5, i);
1020
       #endif
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
     SERIAL_EOL();
1047
     SERIAL_EOL();
1124
     #if AXIS_HAS_SPI(E5)
1148
     #if AXIS_HAS_SPI(E5)
1125
       SET_CS_PIN(E5);
1149
       SET_CS_PIN(E5);
1126
     #endif
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
 #endif // TMC_HAS_SPI
1158
 #endif // TMC_HAS_SPI
1129
 
1159
 
1204
     #if AXIS_IS_TMC(E5)
1234
     #if AXIS_IS_TMC(E5)
1205
       axis_connection += test_connection(stepperE5);
1235
       axis_connection += test_connection(stepperE5);
1206
     #endif
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
   if (axis_connection) ui.set_status_P(GET_TEXT(MSG_ERROR_TMC));
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
   #if AXIS_IS_L64XX(E5)
136
   #if AXIS_IS_L64XX(E5)
137
     L6470_say_status(E5);
137
     L6470_say_status(E5);
138
   #endif
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
   L64xxManager.spi_active = false;   // done with all SPI transfers - clear handshake flags
146
   L64xxManager.spi_active = false;   // done with all SPI transfers - clear handshake flags
141
   L64xxManager.spi_abort = false;
147
   L64xxManager.spi_abort = false;

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

298
           #if AXIS_IS_L64XX(E5)
298
           #if AXIS_IS_L64XX(E5)
299
             case 5: L6470_SET_KVAL_HOLD(E5); break;
299
             case 5: L6470_SET_KVAL_HOLD(E5); break;
300
           #endif
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
       } break;
308
       } break;
303
     }
309
     }
350
     #if AXIS_IS_L64XX(E5)
356
     #if AXIS_IS_L64XX(E5)
351
       L64XX_REPORT_CURRENT(E5);
357
       L64XX_REPORT_CURRENT(E5);
352
     #endif
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
     L64xxManager.spi_active = false;   // done with all SPI transfers - clear handshake flags
366
     L64xxManager.spi_active = false;   // done with all SPI transfers - clear handshake flags
355
     L64xxManager.spi_abort = false;
367
     L64xxManager.spi_abort = false;

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

104
           #if AXIS_HAS_STEALTHCHOP(E5)
104
           #if AXIS_HAS_STEALTHCHOP(E5)
105
             case 5: TMC_SET_STEALTH(E5); break;
105
             case 5: TMC_SET_STEALTH(E5); break;
106
           #endif
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
       } break;
114
       } break;
109
     }
115
     }
155
   #if AXIS_HAS_STEALTHCHOP(E5)
161
   #if AXIS_HAS_STEALTHCHOP(E5)
156
     TMC_SAY_STEALTH_STATUS(E5);
162
     TMC_SAY_STEALTH_STATUS(E5);
157
   #endif
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
           #if AXIS_IS_TMC(E5)
107
           #if AXIS_IS_TMC(E5)
108
             case 5: TMC_SET_CURRENT(E5); break;
108
             case 5: TMC_SET_CURRENT(E5); break;
109
           #endif
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
       } break;
117
       } break;
112
     }
118
     }
155
     #if AXIS_IS_TMC(E5)
161
     #if AXIS_IS_TMC(E5)
156
       TMC_SAY_CURRENT(E5);
162
       TMC_SAY_CURRENT(E5);
157
     #endif
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
       #if AXIS_IS_L64XX(E5)
142
       #if AXIS_IS_L64XX(E5)
143
         REPORT_ABSOLUTE_POS(E5);
143
         REPORT_ABSOLUTE_POS(E5);
144
       #endif
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
       SERIAL_EOL();
151
       SERIAL_EOL();
146
     #endif // HAS_L64XX
152
     #endif // HAS_L64XX
147
 
153
 

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

481
         #if AXIS_IS_TMC(E5)
481
         #if AXIS_IS_TMC(E5)
482
           case E5: return stepperE5.getMilliamps();
482
           case E5: return stepperE5.getMilliamps();
483
         #endif
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
         default: return NAN;
490
         default: return NAN;
485
       };
491
       };
486
     }
492
     }
520
         #if AXIS_IS_TMC(E5)
526
         #if AXIS_IS_TMC(E5)
521
           case E5: stepperE5.rms_current(constrain(mA, 500, 1500)); break;
527
           case E5: stepperE5.rms_current(constrain(mA, 500, 1500)); break;
522
         #endif
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
         default: break;
535
         default: break;
524
       };
536
       };
525
     }
537
     }

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

53
   static constexpr size_t eeprom_data_size = 48;
53
   static constexpr size_t eeprom_data_size = 48;
54
 
54
 
55
   enum axis_t     : uint8_t { X, Y, Z };
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
   enum heater_t   : uint8_t { H0, H1, H2, H3, H4, H5, BED, CHAMBER };
57
   enum heater_t   : uint8_t { H0, H1, H2, H3, H4, H5, BED, CHAMBER };
58
   enum fan_t      : uint8_t { FAN0, FAN1, FAN2, FAN3, FAN4, FAN5, FAN6, FAN7 };
58
   enum fan_t      : uint8_t { FAN0, FAN1, FAN2, FAN3, FAN4, FAN5, FAN6, FAN7 };
59
   enum result_t   : uint8_t { PID_BAD_EXTRUDER_NUM, PID_TEMP_TOO_HIGH, PID_TUNING_TIMEOUT, PID_DONE };
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
   #if AXIS_IS_L64XX(E5)
127
   #if AXIS_IS_L64XX(E5)
128
     _L6470_INIT_SPI(E5);
128
     _L6470_INIT_SPI(E5);
129
   #endif
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
     #if AXIS_IS_L64XX(E5)
246
     #if AXIS_IS_L64XX(E5)
241
       case E5: return STATUS_L6470(E5);
247
       case E5: return STATUS_L6470(E5);
242
     #endif
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
   return 0; // Not needed but kills a compiler warning
257
   return 0; // Not needed but kills a compiler warning
293
     #if AXIS_IS_L64XX(E5)
305
     #if AXIS_IS_L64XX(E5)
294
       case E5: return GET_L6470_PARAM(E5);
306
       case E5: return GET_L6470_PARAM(E5);
295
     #endif
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
   return 0; // not needed but kills a compiler warning
316
   return 0; // not needed but kills a compiler warning
346
     #if AXIS_IS_L64XX(E5)
364
     #if AXIS_IS_L64XX(E5)
347
       case E5: SET_L6470_PARAM(E5); break;
365
       case E5: SET_L6470_PARAM(E5); break;
348
     #endif
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
       {  6, 0, 0, 0, 0, 0, 0 },
718
       {  6, 0, 0, 0, 0, 0, 0 },
695
     #endif
719
     #endif
696
     #if AXIS_IS_L64XX(Z4)
720
     #if AXIS_IS_L64XX(Z4)
697
-      {  6, 0, 0, 0, 0, 0, 0 },
721
+      {  7, 0, 0, 0, 0, 0, 0 },
698
     #endif
722
     #endif
699
     #if AXIS_IS_L64XX(E0)
723
     #if AXIS_IS_L64XX(E0)
700
-      {  7, 0, 0, 0, 0, 0, 0 },
724
+      {  8, 0, 0, 0, 0, 0, 0 },
701
     #endif
725
     #endif
702
     #if AXIS_IS_L64XX(E1)
726
     #if AXIS_IS_L64XX(E1)
703
-      {  8, 0, 0, 0, 0, 0, 0 },
727
+      {  9, 0, 0, 0, 0, 0, 0 },
704
     #endif
728
     #endif
705
     #if AXIS_IS_L64XX(E2)
729
     #if AXIS_IS_L64XX(E2)
706
-      {  9, 0, 0, 0, 0, 0, 0 },
730
+      { 10, 0, 0, 0, 0, 0, 0 },
707
     #endif
731
     #endif
708
     #if AXIS_IS_L64XX(E3)
732
     #if AXIS_IS_L64XX(E3)
709
-      { 10, 0, 0, 0, 0, 0, 0 },
733
+      { 11, 0, 0, 0, 0, 0, 0 },
710
     #endif
734
     #endif
711
     #if AXIS_IS_L64XX(E4)
735
     #if AXIS_IS_L64XX(E4)
712
-      { 11, 0, 0, 0, 0, 0, 0 },
736
+      { 12, 0, 0, 0, 0, 0, 0 },
713
     #endif
737
     #endif
714
     #if AXIS_IS_L64XX(E5)
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
     #endif
746
     #endif
717
   };
747
   };
718
 
748
 

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

33
 #define dSPIN_STEP_CLOCK      0x58
33
 #define dSPIN_STEP_CLOCK      0x58
34
 #define dSPIN_STEP_CLOCK_FWD dSPIN_STEP_CLOCK
34
 #define dSPIN_STEP_CLOCK_FWD dSPIN_STEP_CLOCK
35
 #define dSPIN_STEP_CLOCK_REV dSPIN_STEP_CLOCK+1
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
 enum L64XX_axis_t : uint8_t { X, Y, Z, X2, Y2, Z2, Z3, Z4, E0, E1, E2, E3, E4, E5, E6, E7, MAX_L64XX };
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
             #if AXIS_IS_TMC(E5)
1905
             #if AXIS_IS_TMC(E5)
1906
               SET_CURR(E5);
1906
               SET_CURR(E5);
1907
             #endif
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
         #endif
1915
         #endif
1910
       }
1916
       }
1959
             #if AXIS_HAS_STEALTHCHOP(E5)
1965
             #if AXIS_HAS_STEALTHCHOP(E5)
1960
               stepperE5.set_pwm_thrs(tmc_hybrid_threshold.E5);
1966
               stepperE5.set_pwm_thrs(tmc_hybrid_threshold.E5);
1961
             #endif
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
         #endif
1975
         #endif
1964
       }
1976
       }
2065
             #if AXIS_HAS_STEALTHCHOP(E5)
2077
             #if AXIS_HAS_STEALTHCHOP(E5)
2066
               SET_STEPPING_MODE(E5);
2078
               SET_STEPPING_MODE(E5);
2067
             #endif
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
         #endif
2087
         #endif
2070
       }
2088
       }
3333
         say_M906(forReplay);
3351
         say_M906(forReplay);
3334
         SERIAL_ECHOLNPAIR(" T5 E", stepperE5.getMilliamps());
3352
         SERIAL_ECHOLNPAIR(" T5 E", stepperE5.getMilliamps());
3335
       #endif
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
       SERIAL_EOL();
3362
       SERIAL_EOL();
3337
 
3363
 
3338
       /**
3364
       /**
3407
           say_M913(forReplay);
3433
           say_M913(forReplay);
3408
           SERIAL_ECHOLNPAIR(" T5 E", stepperE5.get_pwm_thrs());
3434
           SERIAL_ECHOLNPAIR(" T5 E", stepperE5.get_pwm_thrs());
3409
         #endif
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
         SERIAL_EOL();
3444
         SERIAL_EOL();
3411
       #endif // HYBRID_THRESHOLD
3445
       #endif // HYBRID_THRESHOLD
3412
 
3446
 
3539
         #if AXIS_HAS_STEALTHCHOP(E5)
3573
         #if AXIS_HAS_STEALTHCHOP(E5)
3540
           if (stepperE5.get_stealthChop_status()) { say_M569(forReplay, PSTR("T5 E"), true); }
3574
           if (stepperE5.get_stealthChop_status()) { say_M569(forReplay, PSTR("T5 E"), true); }
3541
         #endif
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
       #endif // HAS_STEALTHCHOP
3583
       #endif // HAS_STEALTHCHOP
3544
 
3584
 

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

73
 #if AXIS_IS_L64XX(E5)
73
 #if AXIS_IS_L64XX(E5)
74
   L64XX_CLASS(E5) stepperE5(L6470_CHAIN_SS_PIN);
74
   L64XX_CLASS(E5) stepperE5(L6470_CHAIN_SS_PIN);
75
 #endif
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
 // Not using L64XX class init method because it
83
 // Not using L64XX class init method because it
78
 // briefly sends power to the steppers
84
 // briefly sends power to the steppers
208
   #if AXIS_IS_L64XX(E5)
214
   #if AXIS_IS_L64XX(E5)
209
     L6470_INIT_CHIP(E5);
215
     L6470_INIT_CHIP(E5);
210
   #endif
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
 #endif // HAS_L64XX
225
 #endif // HAS_L64XX

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

109
 #if AXIS_HAS_SPI(E5)
109
 #if AXIS_HAS_SPI(E5)
110
   TMC_SPI_DEFINE_E(5);
110
   TMC_SPI_DEFINE_E(5);
111
 #endif
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
 #ifndef TMC_BAUD_RATE
119
 #ifndef TMC_BAUD_RATE
114
   #define TMC_BAUD_RATE 115200
120
   #define TMC_BAUD_RATE 115200

Loading…
Cancel
Save