Pārlūkot izejas kodu

🚸 Better M350, M114 with more axes (#23986)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
DerAndere 3 gadus atpakaļ
vecāks
revīzija
f22307a0af
Revīzijas autora e-pasta adrese nav piesaistīta nevienam kontam

+ 16
- 6
Marlin/src/gcode/control/M350_M351.cpp Parādīt failu

27
 #include "../gcode.h"
27
 #include "../gcode.h"
28
 #include "../../module/stepper.h"
28
 #include "../../module/stepper.h"
29
 
29
 
30
+#if NUM_AXES == XYZ && EXTRUDERS >= 1
31
+  #define HAS_M350_B_PARAM 1  // "5th axis" (after E0) for an original XYZEB setup.
32
+  #if AXIS_COLLISION('B')
33
+    #error "M350 parameter 'B' collision with axis name."
34
+  #endif
35
+#endif
36
+
30
 /**
37
 /**
31
  * M350: Set axis microstepping modes. S sets mode for all drivers.
38
  * M350: Set axis microstepping modes. S sets mode for all drivers.
32
  *
39
  *
33
  * Warning: Steps-per-unit remains unchanged.
40
  * Warning: Steps-per-unit remains unchanged.
34
  */
41
  */
35
 void GcodeSuite::M350() {
42
 void GcodeSuite::M350() {
36
-  if (parser.seen('S')) LOOP_LE_N(i, 4) stepper.microstep_mode(i, parser.value_byte());
37
-  LOOP_LOGICAL_AXES(i) if (parser.seen(axis_codes[i])) stepper.microstep_mode(i, parser.value_byte());
38
-  if (parser.seen('B')) stepper.microstep_mode(4, parser.value_byte());
43
+  if (parser.seen('S')) LOOP_DISTINCT_AXES(i) stepper.microstep_mode(i, parser.value_byte());
44
+  LOOP_LOGICAL_AXES(i) if (parser.seen(AXIS_CHAR(i))) stepper.microstep_mode(i, parser.value_byte());
45
+  TERN_(HAS_M350_B_PARAM, if (parser.seenval('B')) stepper.microstep_mode(E_AXIS + 1, parser.value_byte()));
39
   stepper.microstep_readings();
46
   stepper.microstep_readings();
40
 }
47
 }
41
 
48
 
42
 /**
49
 /**
43
  * M351: Toggle MS1 MS2 pins directly with axis codes X Y Z . . . E [B]
50
  * M351: Toggle MS1 MS2 pins directly with axis codes X Y Z . . . E [B]
44
  *       S# determines MS1, MS2 or MS3, X# sets the pin high/low.
51
  *       S# determines MS1, MS2 or MS3, X# sets the pin high/low.
52
+ *
53
+ *       Parameter 'B' sets "5th axis" (after E0) only for an original XYZEB setup.
45
  */
54
  */
46
 void GcodeSuite::M351() {
55
 void GcodeSuite::M351() {
56
+  const int8_t bval = TERN(HAS_M350_B_PARAM, parser.byteval('B', -1), -1); UNUSED(bval);
47
   if (parser.seenval('S')) switch (parser.value_byte()) {
57
   if (parser.seenval('S')) switch (parser.value_byte()) {
48
     case 1:
58
     case 1:
49
       LOOP_LOGICAL_AXES(i) if (parser.seenval(AXIS_CHAR(i))) stepper.microstep_ms(i, parser.value_byte(), -1, -1);
59
       LOOP_LOGICAL_AXES(i) if (parser.seenval(AXIS_CHAR(i))) stepper.microstep_ms(i, parser.value_byte(), -1, -1);
50
-      if (parser.seenval('B')) stepper.microstep_ms(4, parser.value_byte(), -1, -1);
60
+      TERN_(HAS_M350_B_PARAM, if (bval >= 0) stepper.microstep_ms(E_AXIS + 1, bval != 0, -1, -1));
51
       break;
61
       break;
52
     case 2:
62
     case 2:
53
       LOOP_LOGICAL_AXES(i) if (parser.seenval(AXIS_CHAR(i))) stepper.microstep_ms(i, -1, parser.value_byte(), -1);
63
       LOOP_LOGICAL_AXES(i) if (parser.seenval(AXIS_CHAR(i))) stepper.microstep_ms(i, -1, parser.value_byte(), -1);
54
-      if (parser.seenval('B')) stepper.microstep_ms(4, -1, parser.value_byte(), -1);
64
+      TERN_(HAS_M350_B_PARAM, if (bval >= 0) stepper.microstep_ms(E_AXIS + 1, -1, bval != 0, -1));
55
       break;
65
       break;
56
     case 3:
66
     case 3:
57
       LOOP_LOGICAL_AXES(i) if (parser.seenval(AXIS_CHAR(i))) stepper.microstep_ms(i, -1, -1, parser.value_byte());
67
       LOOP_LOGICAL_AXES(i) if (parser.seenval(AXIS_CHAR(i))) stepper.microstep_ms(i, -1, -1, parser.value_byte());
58
-      if (parser.seenval('B')) stepper.microstep_ms(4, -1, -1, parser.value_byte());
68
+      TERN_(HAS_M350_B_PARAM, if (bval >= 0) stepper.microstep_ms(E_AXIS + 1, -1, -1, bval != 0));
59
       break;
69
       break;
60
   }
70
   }
61
   stepper.microstep_readings();
71
   stepper.microstep_readings();

+ 1
- 1
Marlin/src/gcode/feature/L6470/M906.cpp Parādīt failu

25
 #if HAS_L64XX
25
 #if HAS_L64XX
26
 
26
 
27
 #if AXIS_COLLISION('I')
27
 #if AXIS_COLLISION('I')
28
-  #error "M906 parameter collision with axis name."
28
+  #error "M906 parameter 'I' collision with axis name."
29
 #endif
29
 #endif
30
 
30
 
31
 #include "../../gcode.h"
31
 #include "../../gcode.h"

+ 1
- 1
Marlin/src/gcode/feature/trinamic/M569.cpp Parādīt failu

25
 #if HAS_STEALTHCHOP
25
 #if HAS_STEALTHCHOP
26
 
26
 
27
 #if AXIS_COLLISION('I')
27
 #if AXIS_COLLISION('I')
28
-  #error "M569 parameter collision with axis name."
28
+  #error "M569 parameter 'I' collision with axis name."
29
 #endif
29
 #endif
30
 
30
 
31
 #include "../../gcode.h"
31
 #include "../../gcode.h"

+ 1
- 1
Marlin/src/gcode/feature/trinamic/M919.cpp Parādīt failu

25
 #if HAS_TRINAMIC_CONFIG
25
 #if HAS_TRINAMIC_CONFIG
26
 
26
 
27
 #if AXIS_COLLISION('I')
27
 #if AXIS_COLLISION('I')
28
-  #error "M919 parameter collision with axis name."
28
+  #error "M919 parameter 'I' collision with axis name."
29
 #endif
29
 #endif
30
 
30
 
31
 #include "../../gcode.h"
31
 #include "../../gcode.h"

+ 1
- 1
Marlin/src/gcode/motion/G5.cpp Parādīt failu

25
 #if ENABLED(BEZIER_CURVE_SUPPORT)
25
 #if ENABLED(BEZIER_CURVE_SUPPORT)
26
 
26
 
27
 #if AXIS_COLLISION('I') || AXIS_COLLISION('J')
27
 #if AXIS_COLLISION('I') || AXIS_COLLISION('J')
28
-  #error "G5 parameter collision with axis name."
28
+  #error "G5 parameter 'I' or 'J' collision with axis name."
29
 #endif
29
 #endif
30
 
30
 
31
 #include "../../module/motion.h"
31
 #include "../../module/motion.h"

+ 87
- 69
Marlin/src/module/stepper.cpp Parādīt failu

3638
   void Stepper::microstep_ms(const uint8_t driver, const int8_t ms1, const int8_t ms2, const int8_t ms3) {
3638
   void Stepper::microstep_ms(const uint8_t driver, const int8_t ms1, const int8_t ms2, const int8_t ms3) {
3639
     if (ms1 >= 0) switch (driver) {
3639
     if (ms1 >= 0) switch (driver) {
3640
       #if HAS_X_MS_PINS || HAS_X2_MS_PINS
3640
       #if HAS_X_MS_PINS || HAS_X2_MS_PINS
3641
-        case 0:
3641
+        case X_AXIS:
3642
           #if HAS_X_MS_PINS
3642
           #if HAS_X_MS_PINS
3643
             WRITE(X_MS1_PIN, ms1);
3643
             WRITE(X_MS1_PIN, ms1);
3644
           #endif
3644
           #endif
3648
           break;
3648
           break;
3649
       #endif
3649
       #endif
3650
       #if HAS_Y_MS_PINS || HAS_Y2_MS_PINS
3650
       #if HAS_Y_MS_PINS || HAS_Y2_MS_PINS
3651
-        case 1:
3651
+        case Y_AXIS:
3652
           #if HAS_Y_MS_PINS
3652
           #if HAS_Y_MS_PINS
3653
             WRITE(Y_MS1_PIN, ms1);
3653
             WRITE(Y_MS1_PIN, ms1);
3654
           #endif
3654
           #endif
3658
           break;
3658
           break;
3659
       #endif
3659
       #endif
3660
       #if HAS_SOME_Z_MS_PINS
3660
       #if HAS_SOME_Z_MS_PINS
3661
-        case 2:
3661
+        case Z_AXIS:
3662
           #if HAS_Z_MS_PINS
3662
           #if HAS_Z_MS_PINS
3663
             WRITE(Z_MS1_PIN, ms1);
3663
             WRITE(Z_MS1_PIN, ms1);
3664
           #endif
3664
           #endif
3673
           #endif
3673
           #endif
3674
           break;
3674
           break;
3675
       #endif
3675
       #endif
3676
+      #if HAS_I_MS_PINS
3677
+        case  I_AXIS: WRITE(I_MS1_PIN, ms1); break
3678
+      #endif
3679
+      #if HAS_J_MS_PINS
3680
+        case  J_AXIS: WRITE(J_MS1_PIN, ms1); break
3681
+      #endif
3682
+      #if HAS_K_MS_PINS
3683
+        case  K_AXIS: WRITE(K_MS1_PIN, ms1); break
3684
+      #endif
3685
+      #if HAS_U_MS_PINS
3686
+        case  U_AXIS: WRITE(U_MS1_PIN, ms1); break
3687
+      #endif
3688
+      #if HAS_V_MS_PINS
3689
+        case  V_AXIS: WRITE(V_MS1_PIN, ms1); break
3690
+      #endif
3691
+      #if HAS_W_MS_PINS
3692
+        case  W_AXIS: WRITE(W_MS1_PIN, ms1); break
3693
+      #endif
3676
       #if HAS_E0_MS_PINS
3694
       #if HAS_E0_MS_PINS
3677
-        case  3: WRITE(E0_MS1_PIN, ms1); break;
3695
+        case  E_AXIS: WRITE(E0_MS1_PIN, ms1); break;
3678
       #endif
3696
       #endif
3679
       #if HAS_E1_MS_PINS
3697
       #if HAS_E1_MS_PINS
3680
-        case  4: WRITE(E1_MS1_PIN, ms1); break;
3698
+        case (E_AXIS + 1): WRITE(E1_MS1_PIN, ms1); break;
3681
       #endif
3699
       #endif
3682
       #if HAS_E2_MS_PINS
3700
       #if HAS_E2_MS_PINS
3683
-        case  5: WRITE(E2_MS1_PIN, ms1); break;
3701
+        case (E_AXIS + 2): WRITE(E2_MS1_PIN, ms1); break;
3684
       #endif
3702
       #endif
3685
       #if HAS_E3_MS_PINS
3703
       #if HAS_E3_MS_PINS
3686
-        case  6: WRITE(E3_MS1_PIN, ms1); break;
3704
+        case (E_AXIS + 3): WRITE(E3_MS1_PIN, ms1); break;
3687
       #endif
3705
       #endif
3688
       #if HAS_E4_MS_PINS
3706
       #if HAS_E4_MS_PINS
3689
-        case  7: WRITE(E4_MS1_PIN, ms1); break;
3707
+        case (E_AXIS + 4): WRITE(E4_MS1_PIN, ms1); break;
3690
       #endif
3708
       #endif
3691
       #if HAS_E5_MS_PINS
3709
       #if HAS_E5_MS_PINS
3692
-        case  8: WRITE(E5_MS1_PIN, ms1); break;
3710
+        case (E_AXIS + 5): WRITE(E5_MS1_PIN, ms1); break;
3693
       #endif
3711
       #endif
3694
       #if HAS_E6_MS_PINS
3712
       #if HAS_E6_MS_PINS
3695
-        case  9: WRITE(E6_MS1_PIN, ms1); break;
3713
+        case (E_AXIS + 6): WRITE(E6_MS1_PIN, ms1); break;
3696
       #endif
3714
       #endif
3697
       #if HAS_E7_MS_PINS
3715
       #if HAS_E7_MS_PINS
3698
-        case 10: WRITE(E7_MS1_PIN, ms1); break;
3699
-      #endif
3700
-      #if HAS_I_MS_PINS
3701
-        case 11: WRITE(I_MS1_PIN, ms1); break
3702
-      #endif
3703
-      #if HAS_J_MS_PINS
3704
-        case 12: WRITE(J_MS1_PIN, ms1); break
3705
-      #endif
3706
-      #if HAS_K_MS_PINS
3707
-        case 13: WRITE(K_MS1_PIN, ms1); break
3708
-      #endif
3709
-      #if HAS_U_MS_PINS
3710
-        case 14: WRITE(U_MS1_PIN, ms1); break
3711
-      #endif
3712
-      #if HAS_V_MS_PINS
3713
-        case 15: WRITE(V_MS1_PIN, ms1); break
3714
-      #endif
3715
-      #if HAS_W_MS_PINS
3716
-        case 16: WRITE(W_MS1_PIN, ms1); break
3716
+        case (E_AXIS + 7): WRITE(E7_MS1_PIN, ms1); break;
3717
       #endif
3717
       #endif
3718
     }
3718
     }
3719
     if (ms2 >= 0) switch (driver) {
3719
     if (ms2 >= 0) switch (driver) {
3720
       #if HAS_X_MS_PINS || HAS_X2_MS_PINS
3720
       #if HAS_X_MS_PINS || HAS_X2_MS_PINS
3721
-        case 0:
3721
+        case X_AXIS:
3722
           #if HAS_X_MS_PINS
3722
           #if HAS_X_MS_PINS
3723
             WRITE(X_MS2_PIN, ms2);
3723
             WRITE(X_MS2_PIN, ms2);
3724
           #endif
3724
           #endif
3728
           break;
3728
           break;
3729
       #endif
3729
       #endif
3730
       #if HAS_Y_MS_PINS || HAS_Y2_MS_PINS
3730
       #if HAS_Y_MS_PINS || HAS_Y2_MS_PINS
3731
-        case 1:
3731
+        case Y_AXIS:
3732
           #if HAS_Y_MS_PINS
3732
           #if HAS_Y_MS_PINS
3733
             WRITE(Y_MS2_PIN, ms2);
3733
             WRITE(Y_MS2_PIN, ms2);
3734
           #endif
3734
           #endif
3738
           break;
3738
           break;
3739
       #endif
3739
       #endif
3740
       #if HAS_SOME_Z_MS_PINS
3740
       #if HAS_SOME_Z_MS_PINS
3741
-        case 2:
3741
+        case Z_AXIS:
3742
           #if HAS_Z_MS_PINS
3742
           #if HAS_Z_MS_PINS
3743
             WRITE(Z_MS2_PIN, ms2);
3743
             WRITE(Z_MS2_PIN, ms2);
3744
           #endif
3744
           #endif
3753
           #endif
3753
           #endif
3754
           break;
3754
           break;
3755
       #endif
3755
       #endif
3756
+      #if HAS_I_MS_PINS
3757
+        case  I_AXIS: WRITE(I_MS2_PIN, ms2); break
3758
+      #endif
3759
+      #if HAS_J_MS_PINS
3760
+        case  J_AXIS: WRITE(J_MS2_PIN, ms2); break
3761
+      #endif
3762
+      #if HAS_K_MS_PINS
3763
+        case  K_AXIS: WRITE(K_MS2_PIN, ms2); break
3764
+      #endif
3765
+      #if HAS_U_MS_PINS
3766
+        case  U_AXIS: WRITE(U_MS2_PIN, ms2); break
3767
+      #endif
3768
+      #if HAS_V_MS_PINS
3769
+        case  V_AXIS: WRITE(V_MS2_PIN, ms2); break
3770
+      #endif
3771
+      #if HAS_W_MS_PINS
3772
+        case  W_AXIS: WRITE(W_MS2_PIN, ms2); break
3773
+      #endif
3756
       #if HAS_E0_MS_PINS
3774
       #if HAS_E0_MS_PINS
3757
-        case  3: WRITE(E0_MS2_PIN, ms2); break;
3775
+        case  E_AXIS: WRITE(E0_MS2_PIN, ms2); break;
3758
       #endif
3776
       #endif
3759
       #if HAS_E1_MS_PINS
3777
       #if HAS_E1_MS_PINS
3760
-        case  4: WRITE(E1_MS2_PIN, ms2); break;
3778
+        case (E_AXIS + 1): WRITE(E1_MS2_PIN, ms2); break;
3761
       #endif
3779
       #endif
3762
       #if HAS_E2_MS_PINS
3780
       #if HAS_E2_MS_PINS
3763
-        case  5: WRITE(E2_MS2_PIN, ms2); break;
3781
+        case (E_AXIS + 2): WRITE(E2_MS2_PIN, ms2); break;
3764
       #endif
3782
       #endif
3765
       #if HAS_E3_MS_PINS
3783
       #if HAS_E3_MS_PINS
3766
-        case  6: WRITE(E3_MS2_PIN, ms2); break;
3784
+        case (E_AXIS + 3): WRITE(E3_MS2_PIN, ms2); break;
3767
       #endif
3785
       #endif
3768
       #if HAS_E4_MS_PINS
3786
       #if HAS_E4_MS_PINS
3769
-        case  7: WRITE(E4_MS2_PIN, ms2); break;
3787
+        case (E_AXIS + 4): WRITE(E4_MS2_PIN, ms2); break;
3770
       #endif
3788
       #endif
3771
       #if HAS_E5_MS_PINS
3789
       #if HAS_E5_MS_PINS
3772
-        case  8: WRITE(E5_MS2_PIN, ms2); break;
3790
+        case (E_AXIS + 5): WRITE(E5_MS2_PIN, ms2); break;
3773
       #endif
3791
       #endif
3774
       #if HAS_E6_MS_PINS
3792
       #if HAS_E6_MS_PINS
3775
-        case  9: WRITE(E6_MS2_PIN, ms2); break;
3793
+        case (E_AXIS + 6): WRITE(E6_MS2_PIN, ms2); break;
3776
       #endif
3794
       #endif
3777
       #if HAS_E7_MS_PINS
3795
       #if HAS_E7_MS_PINS
3778
-        case 10: WRITE(E7_MS2_PIN, ms2); break;
3779
-      #endif
3780
-      #if HAS_I_MS_PINS
3781
-        case 11: WRITE(I_MS2_PIN, ms2); break
3782
-      #endif
3783
-      #if HAS_J_MS_PINS
3784
-        case 12: WRITE(J_MS2_PIN, ms2); break
3785
-      #endif
3786
-      #if HAS_K_MS_PINS
3787
-        case 13: WRITE(K_MS2_PIN, ms2); break
3788
-      #endif
3789
-      #if HAS_U_MS_PINS
3790
-        case 14: WRITE(U_MS2_PIN, ms2); break
3791
-      #endif
3792
-      #if HAS_V_MS_PINS
3793
-        case 15: WRITE(V_MS2_PIN, ms2); break
3794
-      #endif
3795
-      #if HAS_W_MS_PINS
3796
-        case 16: WRITE(W_MS2_PIN, ms2); break
3796
+        case (E_AXIS + 7): WRITE(E7_MS2_PIN, ms2); break;
3797
       #endif
3797
       #endif
3798
     }
3798
     }
3799
     if (ms3 >= 0) switch (driver) {
3799
     if (ms3 >= 0) switch (driver) {
3800
       #if HAS_X_MS_PINS || HAS_X2_MS_PINS
3800
       #if HAS_X_MS_PINS || HAS_X2_MS_PINS
3801
-        case 0:
3801
+        case X_AXIS:
3802
           #if HAS_X_MS_PINS && PIN_EXISTS(X_MS3)
3802
           #if HAS_X_MS_PINS && PIN_EXISTS(X_MS3)
3803
             WRITE(X_MS3_PIN, ms3);
3803
             WRITE(X_MS3_PIN, ms3);
3804
           #endif
3804
           #endif
3808
           break;
3808
           break;
3809
       #endif
3809
       #endif
3810
       #if HAS_Y_MS_PINS || HAS_Y2_MS_PINS
3810
       #if HAS_Y_MS_PINS || HAS_Y2_MS_PINS
3811
-        case 1:
3811
+        case Y_AXIS:
3812
           #if HAS_Y_MS_PINS && PIN_EXISTS(Y_MS3)
3812
           #if HAS_Y_MS_PINS && PIN_EXISTS(Y_MS3)
3813
             WRITE(Y_MS3_PIN, ms3);
3813
             WRITE(Y_MS3_PIN, ms3);
3814
           #endif
3814
           #endif
3818
           break;
3818
           break;
3819
       #endif
3819
       #endif
3820
       #if HAS_SOME_Z_MS_PINS
3820
       #if HAS_SOME_Z_MS_PINS
3821
-        case 2:
3821
+        case Z_AXIS:
3822
           #if HAS_Z_MS_PINS && PIN_EXISTS(Z_MS3)
3822
           #if HAS_Z_MS_PINS && PIN_EXISTS(Z_MS3)
3823
             WRITE(Z_MS3_PIN, ms3);
3823
             WRITE(Z_MS3_PIN, ms3);
3824
           #endif
3824
           #endif
3833
           #endif
3833
           #endif
3834
           break;
3834
           break;
3835
       #endif
3835
       #endif
3836
+      #if HAS_I_MS_PINS
3837
+        case  I_AXIS: WRITE(I_MS3_PIN, ms3); break
3838
+      #endif
3839
+      #if HAS_J_MS_PINS
3840
+        case  J_AXIS: WRITE(J_MS3_PIN, ms3); break
3841
+      #endif
3842
+      #if HAS_K_MS_PINS
3843
+        case  K_AXIS: WRITE(K_MS3_PIN, ms3); break
3844
+      #endif
3845
+      #if HAS_U_MS_PINS
3846
+        case  U_AXIS: WRITE(U_MS3_PIN, ms3); break
3847
+      #endif
3848
+      #if HAS_V_MS_PINS
3849
+        case  V_AXIS: WRITE(V_MS3_PIN, ms3); break
3850
+      #endif
3851
+      #if HAS_W_MS_PINS
3852
+        case  W_AXIS: WRITE(W_MS3_PIN, ms3); break
3853
+      #endif
3836
       #if HAS_E0_MS_PINS && PIN_EXISTS(E0_MS3)
3854
       #if HAS_E0_MS_PINS && PIN_EXISTS(E0_MS3)
3837
-        case  3: WRITE(E0_MS3_PIN, ms3); break;
3855
+        case  E_AXIS: WRITE(E0_MS3_PIN, ms3); break;
3838
       #endif
3856
       #endif
3839
       #if HAS_E1_MS_PINS && PIN_EXISTS(E1_MS3)
3857
       #if HAS_E1_MS_PINS && PIN_EXISTS(E1_MS3)
3840
-        case  4: WRITE(E1_MS3_PIN, ms3); break;
3858
+        case (E_AXIS + 1): WRITE(E1_MS3_PIN, ms3); break;
3841
       #endif
3859
       #endif
3842
       #if HAS_E2_MS_PINS && PIN_EXISTS(E2_MS3)
3860
       #if HAS_E2_MS_PINS && PIN_EXISTS(E2_MS3)
3843
-        case  5: WRITE(E2_MS3_PIN, ms3); break;
3861
+        case (E_AXIS + 2): WRITE(E2_MS3_PIN, ms3); break;
3844
       #endif
3862
       #endif
3845
       #if HAS_E3_MS_PINS && PIN_EXISTS(E3_MS3)
3863
       #if HAS_E3_MS_PINS && PIN_EXISTS(E3_MS3)
3846
-        case  6: WRITE(E3_MS3_PIN, ms3); break;
3864
+        case (E_AXIS + 3): WRITE(E3_MS3_PIN, ms3); break;
3847
       #endif
3865
       #endif
3848
       #if HAS_E4_MS_PINS && PIN_EXISTS(E4_MS3)
3866
       #if HAS_E4_MS_PINS && PIN_EXISTS(E4_MS3)
3849
-        case  7: WRITE(E4_MS3_PIN, ms3); break;
3867
+        case (E_AXIS + 4): WRITE(E4_MS3_PIN, ms3); break;
3850
       #endif
3868
       #endif
3851
       #if HAS_E5_MS_PINS && PIN_EXISTS(E5_MS3)
3869
       #if HAS_E5_MS_PINS && PIN_EXISTS(E5_MS3)
3852
-        case  8: WRITE(E5_MS3_PIN, ms3); break;
3870
+        case (E_AXIS + 5): WRITE(E5_MS3_PIN, ms3); break;
3853
       #endif
3871
       #endif
3854
       #if HAS_E6_MS_PINS && PIN_EXISTS(E6_MS3)
3872
       #if HAS_E6_MS_PINS && PIN_EXISTS(E6_MS3)
3855
-        case  9: WRITE(E6_MS3_PIN, ms3); break;
3873
+        case (E_AXIS + 6): WRITE(E6_MS3_PIN, ms3); break;
3856
       #endif
3874
       #endif
3857
       #if HAS_E7_MS_PINS && PIN_EXISTS(E7_MS3)
3875
       #if HAS_E7_MS_PINS && PIN_EXISTS(E7_MS3)
3858
-        case 10: WRITE(E7_MS3_PIN, ms3); break;
3876
+        case (E_AXIS + 7): WRITE(E7_MS3_PIN, ms3); break;
3859
       #endif
3877
       #endif
3860
     }
3878
     }
3861
   }
3879
   }

Notiek ielāde…
Atcelt
Saglabāt