Skip to content

Commit 73ed543

Browse files
committed
πŸ§‘β€πŸ’» Move ENABLE to indirection.h
Followup to add72fd
1 parent fd17cc9 commit 73ed543

File tree

3 files changed

+107
-137
lines changed

3 files changed

+107
-137
lines changed

β€ŽMarlin/src/inc/Conditionals-5-post.h

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,17 +1065,19 @@
10651065
#define HAS_X_MS_PINS 1
10661066
#endif
10671067

1068-
#if PIN_EXISTS(X2_ENABLE) || ALL(SOFTWARE_DRIVER_ENABLE, X2_IS_TRINAMIC)
1069-
#define HAS_X2_ENABLE 1
1070-
#endif
1071-
#if PIN_EXISTS(X2_DIR)
1072-
#define HAS_X2_DIR 1
1073-
#endif
1074-
#if PIN_EXISTS(X2_STEP)
1075-
#define HAS_X2_STEP 1
1076-
#endif
1077-
#if PIN_EXISTS(X2_MS1)
1078-
#define HAS_X2_MS_PINS 1
1068+
#if HAS_X2_STEPPER
1069+
#if PIN_EXISTS(X2_ENABLE) || ALL(SOFTWARE_DRIVER_ENABLE, X2_IS_TRINAMIC)
1070+
#define HAS_X2_ENABLE 1
1071+
#endif
1072+
#if PIN_EXISTS(X2_DIR)
1073+
#define HAS_X2_DIR 1
1074+
#endif
1075+
#if PIN_EXISTS(X2_STEP)
1076+
#define HAS_X2_STEP 1
1077+
#endif
1078+
#if PIN_EXISTS(X2_MS1)
1079+
#define HAS_X2_MS_PINS 1
1080+
#endif
10791081
#endif
10801082
#endif
10811083

β€ŽMarlin/src/module/stepper.cpp

Lines changed: 24 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
Β (0)