@@ -2972,131 +2972,30 @@ void Stepper::init() {
29722972 TERN_ (HAS_E6_DIR, E6_DIR_INIT ());
29732973 TERN_ (HAS_E7_DIR, E7_DIR_INIT ());
29742974
2975- // Init Enable Pins - steppers default to disabled.
2976- #if HAS_X_ENABLE
2977- #ifndef X_ENABLE_INIT_STATE
2978- #define X_ENABLE_INIT_STATE !X_ENABLE_ON
2979- #endif
2980- X_ENABLE_INIT ();
2981- if (X_ENABLE_INIT_STATE) X_ENABLE_WRITE (X_ENABLE_INIT_STATE);
2982- #if ALL(HAS_X2_STEPPER, HAS_X2_ENABLE)
2983- X2_ENABLE_INIT ();
2984- if (X_ENABLE_INIT_STATE) X2_ENABLE_WRITE (X_ENABLE_INIT_STATE);
2985- #endif
2986- #endif
2987- #if HAS_Y_ENABLE
2988- #ifndef Y_ENABLE_INIT_STATE
2989- #define Y_ENABLE_INIT_STATE !Y_ENABLE_ON
2990- #endif
2991- Y_ENABLE_INIT ();
2992- if (Y_ENABLE_INIT_STATE) Y_ENABLE_WRITE (Y_ENABLE_INIT_STATE);
2993- #if ALL(HAS_Y2_STEPPER, HAS_Y2_ENABLE)
2994- Y2_ENABLE_INIT ();
2995- if (Y_ENABLE_INIT_STATE) Y2_ENABLE_WRITE (Y_ENABLE_INIT_STATE);
2996- #endif
2997- #endif
2998- #if HAS_Z_ENABLE
2999- #ifndef Z_ENABLE_INIT_STATE
3000- #define Z_ENABLE_INIT_STATE !Z_ENABLE_ON
3001- #endif
3002- Z_ENABLE_INIT ();
3003- if (Z_ENABLE_INIT_STATE) Z_ENABLE_WRITE (Z_ENABLE_INIT_STATE);
3004- #if HAS_Z2_ENABLE
3005- Z2_ENABLE_INIT ();
3006- if (Z_ENABLE_INIT_STATE) Z2_ENABLE_WRITE (Z_ENABLE_INIT_STATE);
3007- #endif
3008- #if HAS_Z3_ENABLE
3009- Z3_ENABLE_INIT ();
3010- if (Z_ENABLE_INIT_STATE) Z3_ENABLE_WRITE (Z_ENABLE_INIT_STATE);
3011- #endif
3012- #if HAS_Z4_ENABLE
3013- Z4_ENABLE_INIT ();
3014- if (Z_ENABLE_INIT_STATE) Z4_ENABLE_WRITE (Z_ENABLE_INIT_STATE);
3015- #endif
3016- #endif
3017- #if HAS_I_ENABLE
3018- I_ENABLE_INIT ();
3019- if (!I_ENABLE_ON) I_ENABLE_WRITE (HIGH);
3020- #endif
3021- #if HAS_J_ENABLE
3022- J_ENABLE_INIT ();
3023- if (!J_ENABLE_ON) J_ENABLE_WRITE (HIGH);
3024- #endif
3025- #if HAS_K_ENABLE
3026- K_ENABLE_INIT ();
3027- if (!K_ENABLE_ON) K_ENABLE_WRITE (HIGH);
3028- #endif
3029- #if HAS_U_ENABLE
3030- U_ENABLE_INIT ();
3031- if (!U_ENABLE_ON) U_ENABLE_WRITE (HIGH);
3032- #endif
3033- #if HAS_V_ENABLE
3034- V_ENABLE_INIT ();
3035- if (!V_ENABLE_ON) V_ENABLE_WRITE (HIGH);
3036- #endif
3037- #if HAS_W_ENABLE
3038- W_ENABLE_INIT ();
3039- if (!W_ENABLE_ON) W_ENABLE_WRITE (HIGH);
3040- #endif
3041- #if HAS_E0_ENABLE
3042- #ifndef E_ENABLE_INIT_STATE
3043- #define E_ENABLE_INIT_STATE !E_ENABLE_ON
3044- #endif
3045- #ifndef E0_ENABLE_INIT_STATE
3046- #define E0_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
3047- #endif
3048- E0_ENABLE_INIT ();
3049- if (E0_ENABLE_INIT_STATE) E0_ENABLE_WRITE (E0_ENABLE_INIT_STATE);
3050- #endif
3051- #if HAS_E1_ENABLE
3052- #ifndef E1_ENABLE_INIT_STATE
3053- #define E1_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
3054- #endif
3055- E1_ENABLE_INIT ();
3056- if (E1_ENABLE_INIT_STATE) E1_ENABLE_WRITE (E1_ENABLE_INIT_STATE);
3057- #endif
3058- #if HAS_E2_ENABLE
3059- #ifndef E2_ENABLE_INIT_STATE
3060- #define E2_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
3061- #endif
3062- E2_ENABLE_INIT ();
3063- if (E2_ENABLE_INIT_STATE) E2_ENABLE_WRITE (E2_ENABLE_INIT_STATE);
3064- #endif
3065- #if HAS_E3_ENABLE
3066- #ifndef E3_ENABLE_INIT_STATE
3067- #define E3_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
3068- #endif
3069- E3_ENABLE_INIT ();
3070- if (E3_ENABLE_INIT_STATE) E3_ENABLE_WRITE (E3_ENABLE_INIT_STATE);
3071- #endif
3072- #if HAS_E4_ENABLE
3073- #ifndef E4_ENABLE_INIT_STATE
3074- #define E4_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
3075- #endif
3076- E4_ENABLE_INIT ();
3077- if (E4_ENABLE_INIT_STATE) E4_ENABLE_WRITE (E4_ENABLE_INIT_STATE);
3078- #endif
3079- #if HAS_E5_ENABLE
3080- #ifndef E5_ENABLE_INIT_STATE
3081- #define E5_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
3082- #endif
3083- E5_ENABLE_INIT ();
3084- if (E5_ENABLE_INIT_STATE) E5_ENABLE_WRITE (E5_ENABLE_INIT_STATE);
3085- #endif
3086- #if HAS_E6_ENABLE
3087- #ifndef E6_ENABLE_INIT_STATE
3088- #define E6_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
3089- #endif
3090- E6_ENABLE_INIT ();
3091- if (E6_ENABLE_INIT_STATE) E6_ENABLE_WRITE (E6_ENABLE_INIT_STATE);
3092- #endif
3093- #if HAS_E7_ENABLE
3094- #ifndef E7_ENABLE_INIT_STATE
3095- #define E7_ENABLE_INIT_STATE E_ENABLE_INIT_STATE
3096- #endif
3097- E7_ENABLE_INIT ();
3098- if (E7_ENABLE_INIT_STATE) E7_ENABLE_WRITE (E7_ENABLE_INIT_STATE);
3099- #endif
2975+ // Init Enable Pins - Steppers default to disabled.
2976+ #define _INIT_CONFIG_ENABLE (A ) do { A##_ENABLE_INIT (); if (A##_ENABLE_INIT_STATE) A##_ENABLE_WRITE (HIGH); }while (0 )
2977+ TERN_ (HAS_X_ENABLE, _INIT_CONFIG_ENABLE (X));
2978+ TERN_ (HAS_X2_ENABLE, _INIT_CONFIG_ENABLE (X2));
2979+ TERN_ (HAS_Y_ENABLE, _INIT_CONFIG_ENABLE (Y));
2980+ TERN_ (HAS_Y2_ENABLE, _INIT_CONFIG_ENABLE (Y2));
2981+ TERN_ (HAS_Z_ENABLE, _INIT_CONFIG_ENABLE (Z));
2982+ TERN_ (HAS_Z2_ENABLE, _INIT_CONFIG_ENABLE (Z2));
2983+ TERN_ (HAS_Z3_ENABLE, _INIT_CONFIG_ENABLE (Z3));
2984+ TERN_ (HAS_Z4_ENABLE, _INIT_CONFIG_ENABLE (Z4));
2985+ TERN_ (HAS_I_ENABLE, _INIT_CONFIG_ENABLE (I));
2986+ TERN_ (HAS_J_ENABLE, _INIT_CONFIG_ENABLE (J));
2987+ TERN_ (HAS_K_ENABLE, _INIT_CONFIG_ENABLE (K));
2988+ TERN_ (HAS_U_ENABLE, _INIT_CONFIG_ENABLE (U));
2989+ TERN_ (HAS_V_ENABLE, _INIT_CONFIG_ENABLE (V));
2990+ TERN_ (HAS_W_ENABLE, _INIT_CONFIG_ENABLE (W));
2991+ TERN_ (HAS_E0_ENABLE, _INIT_CONFIG_ENABLE (E0 ));
2992+ TERN_ (HAS_E1_ENABLE, _INIT_CONFIG_ENABLE (E1 ));
2993+ TERN_ (HAS_E2_ENABLE, _INIT_CONFIG_ENABLE (E2 ));
2994+ TERN_ (HAS_E3_ENABLE, _INIT_CONFIG_ENABLE (E3 ));
2995+ TERN_ (HAS_E4_ENABLE, _INIT_CONFIG_ENABLE (E4 ));
2996+ TERN_ (HAS_E5_ENABLE, _INIT_CONFIG_ENABLE (E5 ));
2997+ TERN_ (HAS_E6_ENABLE, _INIT_CONFIG_ENABLE (E6 ));
2998+ TERN_ (HAS_E7_ENABLE, _INIT_CONFIG_ENABLE (E7 ));
31002999
31013000 #define _STEP_INIT (AXIS ) AXIS ##_STEP_INIT()
31023001 #define _WRITE_STEP (AXIS, HIGHLOW ) AXIS ##_STEP_WRITE(HIGHLOW)
0 commit comments