@@ -2776,35 +2776,44 @@ void Stepper::init() {
2776
2776
2777
2777
// Init Enable Pins - steppers default to disabled.
2778
2778
#if HAS_X_ENABLE
2779
+ #ifndef X_ENABLE_INIT_STATE
2780
+ #define X_ENABLE_INIT_STATE !X_ENABLE_ON
2781
+ #endif
2779
2782
X_ENABLE_INIT ();
2780
- if (!X_ENABLE_ON ) X_ENABLE_WRITE (HIGH );
2783
+ if (X_ENABLE_INIT_STATE ) X_ENABLE_WRITE (X_ENABLE_INIT_STATE );
2781
2784
#if BOTH(HAS_X2_STEPPER, HAS_X2_ENABLE)
2782
2785
X2_ENABLE_INIT ();
2783
- if (!X_ENABLE_ON ) X2_ENABLE_WRITE (HIGH );
2786
+ if (X_ENABLE_INIT_STATE ) X2_ENABLE_WRITE (X_ENABLE_INIT_STATE );
2784
2787
#endif
2785
2788
#endif
2786
2789
#if HAS_Y_ENABLE
2790
+ #ifndef Y_ENABLE_INIT_STATE
2791
+ #define Y_ENABLE_INIT_STATE !Y_ENABLE_ON
2792
+ #endif
2787
2793
Y_ENABLE_INIT ();
2788
- if (!Y_ENABLE_ON ) Y_ENABLE_WRITE (HIGH );
2794
+ if (Y_ENABLE_INIT_STATE ) Y_ENABLE_WRITE (Y_ENABLE_INIT_STATE );
2789
2795
#if BOTH(HAS_DUAL_Y_STEPPERS, HAS_Y2_ENABLE)
2790
2796
Y2_ENABLE_INIT ();
2791
- if (!Y_ENABLE_ON ) Y2_ENABLE_WRITE (HIGH );
2797
+ if (Y_ENABLE_INIT_STATE ) Y2_ENABLE_WRITE (Y_ENABLE_INIT_STATE );
2792
2798
#endif
2793
2799
#endif
2794
2800
#if HAS_Z_ENABLE
2801
+ #ifndef Z_ENABLE_INIT_STATE
2802
+ #define Z_ENABLE_INIT_STATE !Z_ENABLE_ON
2803
+ #endif
2795
2804
Z_ENABLE_INIT ();
2796
- if (!Z_ENABLE_ON ) Z_ENABLE_WRITE (HIGH );
2805
+ if (Z_ENABLE_INIT_STATE ) Z_ENABLE_WRITE (Z_ENABLE_INIT_STATE );
2797
2806
#if NUM_Z_STEPPERS >= 2 && HAS_Z2_ENABLE
2798
2807
Z2_ENABLE_INIT ();
2799
- if (!Z_ENABLE_ON ) Z2_ENABLE_WRITE (HIGH );
2808
+ if (Z_ENABLE_INIT_STATE ) Z2_ENABLE_WRITE (Z_ENABLE_INIT_STATE );
2800
2809
#endif
2801
2810
#if NUM_Z_STEPPERS >= 3 && HAS_Z3_ENABLE
2802
2811
Z3_ENABLE_INIT ();
2803
- if (!Z_ENABLE_ON ) Z3_ENABLE_WRITE (HIGH );
2812
+ if (Z_ENABLE_INIT_STATE ) Z3_ENABLE_WRITE (Z_ENABLE_INIT_STATE );
2804
2813
#endif
2805
2814
#if NUM_Z_STEPPERS >= 4 && HAS_Z4_ENABLE
2806
2815
Z4_ENABLE_INIT ();
2807
- if (!Z_ENABLE_ON ) Z4_ENABLE_WRITE (HIGH );
2816
+ if (Z_ENABLE_INIT_STATE ) Z4_ENABLE_WRITE (Z_ENABLE_INIT_STATE );
2808
2817
#endif
2809
2818
#endif
2810
2819
#if HAS_I_ENABLE
@@ -2832,36 +2841,63 @@ void Stepper::init() {
2832
2841
if (!W_ENABLE_ON) W_ENABLE_WRITE (HIGH);
2833
2842
#endif
2834
2843
#if HAS_E0_ENABLE
2844
+ #ifndef E_ENABLE_INIT_STATE
2845
+ #define E_ENABLE_INIT_STATE !E_ENABLE_ON
2846
+ #endif
2847
+ #ifndef E0_ENABLE_INIT_STATE
2848
+ #define E0_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
2849
+ #endif
2835
2850
E0_ENABLE_INIT ();
2836
- if (!E_ENABLE_ON ) E0_ENABLE_WRITE (HIGH );
2851
+ if (E0_ENABLE_INIT_STATE ) E0_ENABLE_WRITE (E0_ENABLE_INIT_STATE );
2837
2852
#endif
2838
2853
#if HAS_E1_ENABLE
2854
+ #ifndef E1_ENABLE_INIT_STATE
2855
+ #define E1_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
2856
+ #endif
2839
2857
E1_ENABLE_INIT ();
2840
- if (!E_ENABLE_ON ) E1_ENABLE_WRITE (HIGH );
2858
+ if (E1_ENABLE_INIT_STATE ) E1_ENABLE_WRITE (E1_ENABLE_INIT_STATE );
2841
2859
#endif
2842
2860
#if HAS_E2_ENABLE
2861
+ #ifndef E2_ENABLE_INIT_STATE
2862
+ #define E2_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
2863
+ #endif
2843
2864
E2_ENABLE_INIT ();
2844
- if (!E_ENABLE_ON ) E2_ENABLE_WRITE (HIGH );
2865
+ if (E2_ENABLE_INIT_STATE ) E2_ENABLE_WRITE (E2_ENABLE_INIT_STATE );
2845
2866
#endif
2846
2867
#if HAS_E3_ENABLE
2868
+ #ifndef E3_ENABLE_INIT_STATE
2869
+ #define E3_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
2870
+ #endif
2847
2871
E3_ENABLE_INIT ();
2848
- if (!E_ENABLE_ON ) E3_ENABLE_WRITE (HIGH );
2872
+ if (E3_ENABLE_INIT_STATE ) E3_ENABLE_WRITE (E3_ENABLE_INIT_STATE );
2849
2873
#endif
2850
2874
#if HAS_E4_ENABLE
2875
+ #ifndef E4_ENABLE_INIT_STATE
2876
+ #define E4_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
2877
+ #endif
2851
2878
E4_ENABLE_INIT ();
2852
- if (!E_ENABLE_ON ) E4_ENABLE_WRITE (HIGH );
2879
+ if (E4_ENABLE_INIT_STATE ) E4_ENABLE_WRITE (E4_ENABLE_INIT_STATE );
2853
2880
#endif
2854
2881
#if HAS_E5_ENABLE
2882
+ #ifndef E5_ENABLE_INIT_STATE
2883
+ #define E5_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
2884
+ #endif
2855
2885
E5_ENABLE_INIT ();
2856
- if (!E_ENABLE_ON ) E5_ENABLE_WRITE (HIGH );
2886
+ if (E5_ENABLE_INIT_STATE ) E5_ENABLE_WRITE (E5_ENABLE_INIT_STATE );
2857
2887
#endif
2858
2888
#if HAS_E6_ENABLE
2889
+ #ifndef E6_ENABLE_INIT_STATE
2890
+ #define E6_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
2891
+ #endif
2859
2892
E6_ENABLE_INIT ();
2860
- if (!E_ENABLE_ON ) E6_ENABLE_WRITE (HIGH );
2893
+ if (E6_ENABLE_INIT_STATE ) E6_ENABLE_WRITE (E6_ENABLE_INIT_STATE );
2861
2894
#endif
2862
2895
#if HAS_E7_ENABLE
2896
+ #ifndef E7_ENABLE_INIT_STATE
2897
+ #define E7_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
2898
+ #endif
2863
2899
E7_ENABLE_INIT ();
2864
- if (!E_ENABLE_ON ) E7_ENABLE_WRITE (HIGH );
2900
+ if (E7_ENABLE_INIT_STATE ) E7_ENABLE_WRITE (E7_ENABLE_INIT_STATE );
2865
2901
#endif
2866
2902
2867
2903
#define _STEP_INIT (AXIS ) AXIS ##_STEP_INIT()
0 commit comments