Scott Lahteine пре 6 година
родитељ
комит
53bd0b55cb

+ 3
- 3
Marlin/src/gcode/feature/trinamic/M911-M915.cpp Прегледај датотеку

@@ -131,8 +131,8 @@ void GcodeSuite::M912() {
131 131
       #endif
132 132
     #endif
133 133
 
134
-    #if M91x_USE_E(0) || M91x_USE_E(1) || M91x_USE_E(2) || M91x_USE_E(3) || M91x_USE_E(4)
135
-      const int8_t eval = int8_t(parser.byteval(axis_codes[E_AXIS], 0xFF));
134
+    #if M91x_USE_E(0) || M91x_USE_E(1) || M91x_USE_E(2) || M91x_USE_E(3) || M91x_USE_E(4) || M91x_USE_E(5)
135
+      const uint8_t eval = int8_t(parser.byteval(axis_codes[E_AXIS], 0xFF));
136 136
       #if M91x_USE_E(0)
137 137
         if (hasNone || eval == 0 || (hasE && eval < 0)) tmc_clear_otpw(stepperE0, TMC_E0);
138 138
       #endif
@@ -149,7 +149,7 @@ void GcodeSuite::M912() {
149 149
         if (hasNone || eval == 4 || (hasE && eval < 0)) tmc_clear_otpw(stepperE4, TMC_E4);
150 150
       #endif
151 151
       #if M91x_USE_E(5)
152
-        if (hasNone || eval == 5 || (hasE && eval == 10)) tmc_clear_otpw(stepperE5, TMC_E5);
152
+        if (hasNone || eval == 5 || (hasE && eval < 0)) tmc_clear_otpw(stepperE5, TMC_E5);
153 153
       #endif
154 154
     #endif
155 155
 }

+ 32
- 0
Marlin/src/module/stepper_indirection.cpp Прегледај датотеку

@@ -87,6 +87,9 @@
87 87
   #if AXIS_DRIVER_TYPE(E4, TMC26X)
88 88
     _TMC26X_DEFINE(E4);
89 89
   #endif
90
+  #if AXIS_DRIVER_TYPE(E5, TMC26X)
91
+    _TMC26X_DEFINE(E5);
92
+  #endif
90 93
 
91 94
   #define _TMC26X_INIT(A) do{ \
92 95
     stepper##A.setMicrosteps(A##_MICROSTEPS); \
@@ -130,6 +133,9 @@
130 133
     #if AXIS_DRIVER_TYPE(E4, TMC26X)
131 134
       _TMC26X_INIT(E4);
132 135
     #endif
136
+    #if AXIS_DRIVER_TYPE(E5, TMC26X)
137
+      _TMC26X_INIT(E5);
138
+    #endif
133 139
   }
134 140
 #endif // TMC26X
135 141
 
@@ -190,6 +196,9 @@
190 196
   #if AXIS_DRIVER_TYPE(E4, TMC2130)
191 197
     _TMC2130_DEFINE(E4);
192 198
   #endif
199
+  #if AXIS_DRIVER_TYPE(E5, TMC2130)
200
+    _TMC2130_DEFINE(E5);
201
+  #endif
193 202
 
194 203
   // Use internal reference voltage for current calculations. This is the default.
195 204
   // Following values from Trinamic's spreadsheet with values for a NEMA17 (42BYGHW609)
@@ -394,6 +403,13 @@
394 403
       _TMC2208_DEFINE_SOFTWARE(E4);
395 404
     #endif
396 405
   #endif
406
+  #if AXIS_DRIVER_TYPE(E5, TMC2208)
407
+    #ifdef E5_HARDWARE_SERIAL
408
+      _TMC2208_DEFINE_HARDWARE(E5);
409
+    #else
410
+      _TMC2208_DEFINE_SOFTWARE(E5);
411
+    #endif
412
+  #endif
397 413
 
398 414
   void tmc2208_serial_begin() {
399 415
     #if AXIS_DRIVER_TYPE(X, TMC2208)
@@ -480,6 +496,13 @@
480 496
         stepperE4.beginSerial(115200);
481 497
       #endif
482 498
     #endif
499
+    #if AXIS_DRIVER_TYPE(E5, TMC2208)
500
+      #ifdef E5_HARDWARE_SERIAL
501
+        E5_HARDWARE_SERIAL.begin(115200);
502
+      #else
503
+        stepperE5.beginSerial(115200);
504
+      #endif
505
+    #endif
483 506
   }
484 507
 
485 508
   // Use internal reference voltage for current calculations. This is the default.
@@ -597,6 +620,9 @@ void restore_stepper_drivers() {
597 620
   #if AXIS_IS_TMC(E4)
598 621
     stepperE4.push();
599 622
   #endif
623
+  #if AXIS_IS_TMC(E5)
624
+    stepperE5.push();
625
+  #endif
600 626
 }
601 627
 
602 628
 void reset_stepper_drivers() {
@@ -667,6 +693,9 @@ void reset_stepper_drivers() {
667 693
   #if AXIS_DRIVER_TYPE(E4, L6470)
668 694
     _L6470_DEFINE(E4);
669 695
   #endif
696
+  #if AXIS_DRIVER_TYPE(E5, L6470)
697
+    _L6470_DEFINE(E5);
698
+  #endif
670 699
 
671 700
   #define _L6470_INIT(A) do{ \
672 701
     stepper##A.init(); \
@@ -713,6 +742,9 @@ void reset_stepper_drivers() {
713 742
     #if AXIS_DRIVER_TYPE(E4, L6470)
714 743
       _L6470_INIT(E4);
715 744
     #endif
745
+    #if AXIS_DRIVER_TYPE(E5, L6470)
746
+      _L6470_INIT(E5);
747
+    #endif
716 748
   }
717 749
 
718 750
 #endif // L6470

Loading…
Откажи
Сачувај