diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 6f81aa4051bd..1a35c324b6a1 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -815,7 +815,6 @@ #define X1_MAX_POS X_BED_SIZE // A max coordinate so the X1 carriage can't hit the parked X2 carriage #define X2_MIN_POS 80 // A min coordinate so the X2 carriage can't hit the parked X1 carriage #define X2_MAX_POS 353 // The max position of the X2 carriage, typically also the home position - #define X2_HOME_DIR 1 // Set to 1. The X2 carriage always homes to the max endstop position #define X2_HOME_POS X2_MAX_POS // Default X2 home position. Set to X2_MAX_POS. // NOTE: For Dual X Carriage use M218 T1 Xn to override the X2_HOME_POS. // This allows recalibration of endstops distance without a rebuild. diff --git a/Marlin/src/HAL/AVR/endstop_interrupts.h b/Marlin/src/HAL/AVR/endstop_interrupts.h index a67b4493f0bc..ac827f18422a 100644 --- a/Marlin/src/HAL/AVR/endstop_interrupts.h +++ b/Marlin/src/HAL/AVR/endstop_interrupts.h @@ -120,7 +120,7 @@ void pciSetup(const int8_t pin) { void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) - #if HAS_X_MAX + #if USE_X_MAX #if (digitalPinToInterrupt(X_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(X_MAX_PIN); #else @@ -128,7 +128,7 @@ void setup_endstop_interrupts() { pciSetup(X_MAX_PIN); #endif #endif - #if HAS_X_MIN + #if USE_X_MIN #if (digitalPinToInterrupt(X_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(X_MIN_PIN); #else @@ -136,7 +136,7 @@ void setup_endstop_interrupts() { pciSetup(X_MIN_PIN); #endif #endif - #if HAS_Y_MAX + #if USE_Y_MAX #if (digitalPinToInterrupt(Y_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(Y_MAX_PIN); #else @@ -144,7 +144,7 @@ void setup_endstop_interrupts() { pciSetup(Y_MAX_PIN); #endif #endif - #if HAS_Y_MIN + #if USE_Y_MIN #if (digitalPinToInterrupt(Y_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(Y_MIN_PIN); #else @@ -152,7 +152,7 @@ void setup_endstop_interrupts() { pciSetup(Y_MIN_PIN); #endif #endif - #if HAS_Z_MAX + #if USE_Z_MAX #if (digitalPinToInterrupt(Z_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(Z_MAX_PIN); #else @@ -168,14 +168,14 @@ void setup_endstop_interrupts() { pciSetup(Z_MIN_PIN); #endif #endif - #if HAS_I_MAX + #if USE_I_MAX #if (digitalPinToInterrupt(I_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(I_MAX_PIN); #else static_assert(digitalPinHasPCICR(I_MAX_PIN), "I_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."); pciSetup(I_MAX_PIN); #endif - #elif HAS_I_MIN + #elif USE_I_MIN #if (digitalPinToInterrupt(I_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(I_MIN_PIN); #else @@ -183,14 +183,14 @@ void setup_endstop_interrupts() { pciSetup(I_MIN_PIN); #endif #endif - #if HAS_J_MAX + #if USE_J_MAX #if (digitalPinToInterrupt(J_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(J_MAX_PIN); #else static_assert(digitalPinHasPCICR(J_MAX_PIN), "J_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."); pciSetup(J_MAX_PIN); #endif - #elif HAS_J_MIN + #elif USE_J_MIN #if (digitalPinToInterrupt(J_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(J_MIN_PIN); #else @@ -198,14 +198,14 @@ void setup_endstop_interrupts() { pciSetup(J_MIN_PIN); #endif #endif - #if HAS_K_MAX + #if USE_K_MAX #if (digitalPinToInterrupt(K_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(K_MAX_PIN); #else static_assert(digitalPinHasPCICR(K_MAX_PIN), "K_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."); pciSetup(K_MAX_PIN); #endif - #elif HAS_K_MIN + #elif USE_K_MIN #if (digitalPinToInterrupt(K_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(K_MIN_PIN); #else @@ -213,14 +213,14 @@ void setup_endstop_interrupts() { pciSetup(K_MIN_PIN); #endif #endif - #if HAS_U_MAX + #if USE_U_MAX #if (digitalPinToInterrupt(U_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(U_MAX_PIN); #else static_assert(digitalPinHasPCICR(U_MAX_PIN), "U_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."); pciSetup(U_MAX_PIN); #endif - #elif HAS_U_MIN + #elif USE_U_MIN #if (digitalPinToInterrupt(U_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(U_MIN_PIN); #else @@ -228,14 +228,14 @@ void setup_endstop_interrupts() { pciSetup(U_MIN_PIN); #endif #endif - #if HAS_V_MAX + #if USE_V_MAX #if (digitalPinToInterrupt(V_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(V_MAX_PIN); #else static_assert(digitalPinHasPCICR(V_MAX_PIN), "V_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."); pciSetup(V_MAX_PIN); #endif - #elif HAS_V_MIN + #elif USE_V_MIN #if (digitalPinToInterrupt(V_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(V_MIN_PIN); #else @@ -243,14 +243,14 @@ void setup_endstop_interrupts() { pciSetup(V_MIN_PIN); #endif #endif - #if HAS_W_MAX + #if USE_W_MAX #if (digitalPinToInterrupt(W_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(W_MAX_PIN); #else static_assert(digitalPinHasPCICR(W_MAX_PIN), "W_MAX_PIN is not interrupt-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."); pciSetup(W_MAX_PIN); #endif - #elif HAS_W_MIN + #elif USE_W_MIN #if (digitalPinToInterrupt(W_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(W_MIN_PIN); #else @@ -258,7 +258,7 @@ void setup_endstop_interrupts() { pciSetup(W_MIN_PIN); #endif #endif - #if HAS_X2_MAX + #if USE_X2_MAX #if (digitalPinToInterrupt(X2_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(X2_MAX_PIN); #else @@ -266,7 +266,7 @@ void setup_endstop_interrupts() { pciSetup(X2_MAX_PIN); #endif #endif - #if HAS_X2_MIN + #if USE_X2_MIN #if (digitalPinToInterrupt(X2_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(X2_MIN_PIN); #else @@ -274,7 +274,7 @@ void setup_endstop_interrupts() { pciSetup(X2_MIN_PIN); #endif #endif - #if HAS_Y2_MAX + #if USE_Y2_MAX #if (digitalPinToInterrupt(Y2_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(Y2_MAX_PIN); #else @@ -282,7 +282,7 @@ void setup_endstop_interrupts() { pciSetup(Y2_MAX_PIN); #endif #endif - #if HAS_Y2_MIN + #if USE_Y2_MIN #if (digitalPinToInterrupt(Y2_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(Y2_MIN_PIN); #else @@ -290,7 +290,7 @@ void setup_endstop_interrupts() { pciSetup(Y2_MIN_PIN); #endif #endif - #if HAS_Z2_MAX + #if USE_Z2_MAX #if (digitalPinToInterrupt(Z2_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(Z2_MAX_PIN); #else @@ -298,7 +298,7 @@ void setup_endstop_interrupts() { pciSetup(Z2_MAX_PIN); #endif #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN #if (digitalPinToInterrupt(Z2_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(Z2_MIN_PIN); #else @@ -306,7 +306,7 @@ void setup_endstop_interrupts() { pciSetup(Z2_MIN_PIN); #endif #endif - #if HAS_Z3_MAX + #if USE_Z3_MAX #if (digitalPinToInterrupt(Z3_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(Z3_MAX_PIN); #else @@ -314,7 +314,7 @@ void setup_endstop_interrupts() { pciSetup(Z3_MAX_PIN); #endif #endif - #if HAS_Z3_MIN + #if USE_Z3_MIN #if (digitalPinToInterrupt(Z3_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(Z3_MIN_PIN); #else @@ -322,7 +322,7 @@ void setup_endstop_interrupts() { pciSetup(Z3_MIN_PIN); #endif #endif - #if HAS_Z4_MAX + #if USE_Z4_MAX #if (digitalPinToInterrupt(Z4_MAX_PIN) != NOT_AN_INTERRUPT) _ATTACH(Z4_MAX_PIN); #else @@ -330,7 +330,7 @@ void setup_endstop_interrupts() { pciSetup(Z4_MAX_PIN); #endif #endif - #if HAS_Z4_MIN + #if USE_Z4_MIN #if (digitalPinToInterrupt(Z4_MIN_PIN) != NOT_AN_INTERRUPT) _ATTACH(Z4_MIN_PIN); #else @@ -338,7 +338,7 @@ void setup_endstop_interrupts() { pciSetup(Z4_MIN_PIN); #endif #endif - #if HAS_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE #if (digitalPinToInterrupt(Z_MIN_PROBE_PIN) != NOT_AN_INTERRUPT) _ATTACH(Z_MIN_PROBE_PIN); #else diff --git a/Marlin/src/HAL/DUE/endstop_interrupts.h b/Marlin/src/HAL/DUE/endstop_interrupts.h index 9ce4fcdb2fce..28510fb508d6 100644 --- a/Marlin/src/HAL/DUE/endstop_interrupts.h +++ b/Marlin/src/HAL/DUE/endstop_interrupts.h @@ -47,33 +47,33 @@ void endstop_ISR() { endstops.update(); } void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) - TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN)); - TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN)); - TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN)); - TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN)); - TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN)); - TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); - TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN)); - TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN)); - TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN)); - TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN)); - TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN)); - TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN)); - TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN)); - TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN)); - TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN)); - TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN)); - TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN)); - TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN)); - TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN)); - TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN)); - TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN)); - TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN)); - TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN)); - TERN_(HAS_U_MAX, _ATTACH(U_MAX_PIN)); - TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN)); - TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN)); - TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN)); - TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN)); - TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN)); + TERN_(USE_X_MAX, _ATTACH(X_MAX_PIN)); + TERN_(USE_X_MIN, _ATTACH(X_MIN_PIN)); + TERN_(USE_Y_MAX, _ATTACH(Y_MAX_PIN)); + TERN_(USE_Y_MIN, _ATTACH(Y_MIN_PIN)); + TERN_(USE_Z_MAX, _ATTACH(Z_MAX_PIN)); + TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); + TERN_(USE_X2_MAX, _ATTACH(X2_MAX_PIN)); + TERN_(USE_X2_MIN, _ATTACH(X2_MIN_PIN)); + TERN_(USE_Y2_MAX, _ATTACH(Y2_MAX_PIN)); + TERN_(USE_Y2_MIN, _ATTACH(Y2_MIN_PIN)); + TERN_(USE_Z2_MAX, _ATTACH(Z2_MAX_PIN)); + TERN_(USE_Z2_MIN, _ATTACH(Z2_MIN_PIN)); + TERN_(USE_Z3_MAX, _ATTACH(Z3_MAX_PIN)); + TERN_(USE_Z3_MIN, _ATTACH(Z3_MIN_PIN)); + TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN)); + TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN)); + TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN)); + TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN)); + TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN)); + TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN)); + TERN_(USE_J_MIN, _ATTACH(J_MIN_PIN)); + TERN_(USE_K_MAX, _ATTACH(K_MAX_PIN)); + TERN_(USE_K_MIN, _ATTACH(K_MIN_PIN)); + TERN_(USE_U_MAX, _ATTACH(U_MAX_PIN)); + TERN_(USE_U_MIN, _ATTACH(U_MIN_PIN)); + TERN_(USE_V_MAX, _ATTACH(V_MAX_PIN)); + TERN_(USE_V_MIN, _ATTACH(V_MIN_PIN)); + TERN_(USE_W_MAX, _ATTACH(W_MAX_PIN)); + TERN_(USE_W_MIN, _ATTACH(W_MIN_PIN)); } diff --git a/Marlin/src/HAL/ESP32/endstop_interrupts.h b/Marlin/src/HAL/ESP32/endstop_interrupts.h index f48cda4511f3..43f4975d4609 100644 --- a/Marlin/src/HAL/ESP32/endstop_interrupts.h +++ b/Marlin/src/HAL/ESP32/endstop_interrupts.h @@ -42,33 +42,33 @@ void ICACHE_RAM_ATTR endstop_ISR() { endstops.update(); } void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) - TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN)); - TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN)); - TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN)); - TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN)); - TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN)); - TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); - TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN)); - TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN)); - TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN)); - TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN)); - TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN)); - TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN)); - TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN)); - TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN)); - TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN)); - TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN)); - TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN)); - TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN)); - TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN)); - TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN)); - TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN)); - TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN)); - TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN)); - TERN_(HAS_U_MAX, _ATTACH(U_MAX_PIN)); - TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN)); - TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN)); - TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN)); - TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN)); - TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN)); + TERN_(USE_X_MAX, _ATTACH(X_MAX_PIN)); + TERN_(USE_X_MIN, _ATTACH(X_MIN_PIN)); + TERN_(USE_Y_MAX, _ATTACH(Y_MAX_PIN)); + TERN_(USE_Y_MIN, _ATTACH(Y_MIN_PIN)); + TERN_(USE_Z_MAX, _ATTACH(Z_MAX_PIN)); + TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); + TERN_(USE_X2_MAX, _ATTACH(X2_MAX_PIN)); + TERN_(USE_X2_MIN, _ATTACH(X2_MIN_PIN)); + TERN_(USE_Y2_MAX, _ATTACH(Y2_MAX_PIN)); + TERN_(USE_Y2_MIN, _ATTACH(Y2_MIN_PIN)); + TERN_(USE_Z2_MAX, _ATTACH(Z2_MAX_PIN)); + TERN_(USE_Z2_MIN, _ATTACH(Z2_MIN_PIN)); + TERN_(USE_Z3_MAX, _ATTACH(Z3_MAX_PIN)); + TERN_(USE_Z3_MIN, _ATTACH(Z3_MIN_PIN)); + TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN)); + TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN)); + TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN)); + TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN)); + TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN)); + TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN)); + TERN_(USE_J_MIN, _ATTACH(J_MIN_PIN)); + TERN_(USE_K_MAX, _ATTACH(K_MAX_PIN)); + TERN_(USE_K_MIN, _ATTACH(K_MIN_PIN)); + TERN_(USE_U_MAX, _ATTACH(U_MAX_PIN)); + TERN_(USE_U_MIN, _ATTACH(U_MIN_PIN)); + TERN_(USE_V_MAX, _ATTACH(V_MAX_PIN)); + TERN_(USE_V_MIN, _ATTACH(V_MIN_PIN)); + TERN_(USE_W_MAX, _ATTACH(W_MAX_PIN)); + TERN_(USE_W_MIN, _ATTACH(W_MIN_PIN)); } diff --git a/Marlin/src/HAL/LPC1768/endstop_interrupts.h b/Marlin/src/HAL/LPC1768/endstop_interrupts.h index 2253b92627d9..cd9de254777a 100644 --- a/Marlin/src/HAL/LPC1768/endstop_interrupts.h +++ b/Marlin/src/HAL/LPC1768/endstop_interrupts.h @@ -44,31 +44,31 @@ void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) #define LPC1768_PIN_INTERRUPT_M(pin) ((pin >> 0x5 & 0x7) == 0 || (pin >> 0x5 & 0x7) == 2) - #if HAS_X_MAX + #if USE_X_MAX #if !LPC1768_PIN_INTERRUPT_M(X_MAX_PIN) #error "X_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X_MAX_PIN); #endif - #if HAS_X_MIN + #if USE_X_MIN #if !LPC1768_PIN_INTERRUPT_M(X_MIN_PIN) #error "X_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X_MIN_PIN); #endif - #if HAS_Y_MAX + #if USE_Y_MAX #if !LPC1768_PIN_INTERRUPT_M(Y_MAX_PIN) #error "Y_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y_MAX_PIN); #endif - #if HAS_Y_MIN + #if USE_Y_MIN #if !LPC1768_PIN_INTERRUPT_M(Y_MIN_PIN) #error "Y_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y_MIN_PIN); #endif - #if HAS_Z_MAX + #if USE_Z_MAX #if !LPC1768_PIN_INTERRUPT_M(Z_MAX_PIN) #error "Z_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif @@ -80,133 +80,133 @@ void setup_endstop_interrupts() { #endif _ATTACH(Z_MIN_PIN); #endif - #if HAS_X2_MAX + #if USE_X2_MAX #if !LPC1768_PIN_INTERRUPT_M(X2_MAX_PIN) #error "X2_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X2_MAX_PIN); #endif - #if HAS_X2_MIN + #if USE_X2_MIN #if !LPC1768_PIN_INTERRUPT_M(X2_MIN_PIN) #error "X2_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X2_MIN_PIN); #endif - #if HAS_Y2_MAX + #if USE_Y2_MAX #if !LPC1768_PIN_INTERRUPT_M(Y2_MAX_PIN) #error "Y2_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y2_MAX_PIN); #endif - #if HAS_Y2_MIN + #if USE_Y2_MIN #if !LPC1768_PIN_INTERRUPT_M(Y2_MIN_PIN) #error "Y2_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y2_MIN_PIN); #endif - #if HAS_Z2_MAX + #if USE_Z2_MAX #if !LPC1768_PIN_INTERRUPT_M(Z2_MAX_PIN) #error "Z2_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z2_MAX_PIN); #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN #if !LPC1768_PIN_INTERRUPT_M(Z2_MIN_PIN) #error "Z2_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z2_MIN_PIN); #endif - #if HAS_Z3_MAX + #if USE_Z3_MAX #if !LPC1768_PIN_INTERRUPT_M(Z3_MAX_PIN) #error "Z3_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z3_MAX_PIN); #endif - #if HAS_Z3_MIN + #if USE_Z3_MIN #if !LPC1768_PIN_INTERRUPT_M(Z3_MIN_PIN) #error "Z3_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z3_MIN_PIN); #endif - #if HAS_Z4_MAX + #if USE_Z4_MAX #if !LPC1768_PIN_INTERRUPT_M(Z4_MAX_PIN) #error "Z4_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z4_MAX_PIN); #endif - #if HAS_Z4_MIN + #if USE_Z4_MIN #if !LPC1768_PIN_INTERRUPT_M(Z4_MIN_PIN) #error "Z4_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z4_MIN_PIN); #endif - #if HAS_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE #if !LPC1768_PIN_INTERRUPT_M(Z_MIN_PROBE_PIN) #error "Z_MIN_PROBE_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z_MIN_PROBE_PIN); #endif - #if HAS_I_MAX + #if USE_I_MAX #if !LPC1768_PIN_INTERRUPT_M(I_MAX_PIN) #error "I_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(I_MAX_PIN); - #elif HAS_I_MIN + #elif USE_I_MIN #if !LPC1768_PIN_INTERRUPT_M(I_MIN_PIN) #error "I_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(I_MIN_PIN); #endif - #if HAS_J_MAX + #if USE_J_MAX #if !LPC1768_PIN_INTERRUPT_M(J_MAX_PIN) #error "J_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(J_MAX_PIN); - #elif HAS_J_MIN + #elif USE_J_MIN #if !LPC1768_PIN_INTERRUPT_M(J_MIN_PIN) #error "J_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(J_MIN_PIN); #endif - #if HAS_K_MAX + #if USE_K_MAX #if !LPC1768_PIN_INTERRUPT_M(K_MAX_PIN) #error "K_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(K_MAX_PIN); - #elif HAS_K_MIN + #elif USE_K_MIN #if !LPC1768_PIN_INTERRUPT_M(K_MIN_PIN) #error "K_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(K_MIN_PIN); #endif - #if HAS_U_MAX + #if USE_U_MAX #if !LPC1768_PIN_INTERRUPT_M(U_MAX_PIN) #error "U_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(U_MAX_PIN); - #elif HAS_U_MIN + #elif USE_U_MIN #if !LPC1768_PIN_INTERRUPT_M(U_MIN_PIN) #error "U_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(U_MIN_PIN); #endif - #if HAS_V_MAX + #if USE_V_MAX #if !LPC1768_PIN_INTERRUPT_M(V_MAX_PIN) #error "V_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(V_MAX_PIN); - #elif HAS_V_MIN + #elif USE_V_MIN #if !LPC1768_PIN_INTERRUPT_M(V_MIN_PIN) #error "V_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(V_MIN_PIN); #endif - #if HAS_W_MAX + #if USE_W_MAX #if !LPC1768_PIN_INTERRUPT_M(W_MAX_PIN) #error "W_MAX_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(W_MAX_PIN); - #elif HAS_W_MIN + #elif USE_W_MIN #if !LPC1768_PIN_INTERRUPT_M(W_MIN_PIN) #error "W_MIN_PIN is not INTERRUPT-capable. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h index f49bc34c9253..2782f225b0df 100644 --- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h +++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h @@ -150,7 +150,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #error "Serial port pins (2) conflict with other pins!" #elif Y_HOME_TO_MIN && IS_TX2(Y_STOP_PIN) #error "Serial port pins (2) conflict with Y endstop pin!" - #elif USES_Z_MIN_PROBE_PIN && IS_TX2(Z_MIN_PROBE_PIN) + #elif USE_Z_MIN_PROBE && IS_TX2(Z_MIN_PROBE_PIN) #error "Serial port pins (2) conflict with probe pin!" #elif ANY_TX(2, X_ENABLE_PIN, Y_ENABLE_PIN) || ANY_RX(2, X_DIR_PIN, Y_DIR_PIN) #error "Serial port pins (2) conflict with X/Y stepper pins!" @@ -241,7 +241,7 @@ static_assert(DISABLED(BAUD_RATE_GCODE), "BAUD_RATE_GCODE is not yet supported o #define PIN_IS_SCL2(P) (P##_PIN == P0_11) #if PIN_IS_SDA2(Y_STOP) #error "i2c SDA2 overlaps with Y endstop pin!" - #elif USES_Z_MIN_PROBE_PIN && PIN_IS_SDA2(Z_MIN_PROBE) + #elif USE_Z_MIN_PROBE && PIN_IS_SDA2(Z_MIN_PROBE) #error "i2c SDA2 overlaps with Z probe pin!" #elif PIN_IS_SDA2(X_ENABLE) || PIN_IS_SDA2(Y_ENABLE) #error "i2c SDA2 overlaps with X/Y ENABLE pin!" diff --git a/Marlin/src/HAL/SAMD21/endstop_interrupts.h b/Marlin/src/HAL/SAMD21/endstop_interrupts.h index a277e04097f4..31414a39e317 100644 --- a/Marlin/src/HAL/SAMD21/endstop_interrupts.h +++ b/Marlin/src/HAL/SAMD21/endstop_interrupts.h @@ -54,35 +54,35 @@ #include "../../module/endstops.h" #define MATCH_EILINE(P1,P2) (P1 != P2 && PIN_TO_EILINE(P1) == PIN_TO_EILINE(P2)) -#define MATCH_X_MAX_EILINE(P) TERN0(HAS_X_MAX, DEFER4(MATCH_EILINE)(P, X_MAX_PIN)) -#define MATCH_X_MIN_EILINE(P) TERN0(HAS_X_MIN, DEFER4(MATCH_EILINE)(P, X_MIN_PIN)) -#define MATCH_Y_MAX_EILINE(P) TERN0(HAS_Y_MAX, DEFER4(MATCH_EILINE)(P, Y_MAX_PIN)) -#define MATCH_Y_MIN_EILINE(P) TERN0(HAS_Y_MIN, DEFER4(MATCH_EILINE)(P, Y_MIN_PIN)) -#define MATCH_Z_MAX_EILINE(P) TERN0(HAS_Z_MAX, DEFER4(MATCH_EILINE)(P, Z_MAX_PIN)) +#define MATCH_X_MAX_EILINE(P) TERN0(USE_X_MAX, DEFER4(MATCH_EILINE)(P, X_MAX_PIN)) +#define MATCH_X_MIN_EILINE(P) TERN0(USE_X_MIN, DEFER4(MATCH_EILINE)(P, X_MIN_PIN)) +#define MATCH_Y_MAX_EILINE(P) TERN0(USE_Y_MAX, DEFER4(MATCH_EILINE)(P, Y_MAX_PIN)) +#define MATCH_Y_MIN_EILINE(P) TERN0(USE_Y_MIN, DEFER4(MATCH_EILINE)(P, Y_MIN_PIN)) +#define MATCH_Z_MAX_EILINE(P) TERN0(USE_Z_MAX, DEFER4(MATCH_EILINE)(P, Z_MAX_PIN)) #define MATCH_Z_MIN_EILINE(P) TERN0(HAS_Z_MIN_PIN, DEFER4(MATCH_EILINE)(P, Z_MIN_PIN)) -#define MATCH_I_MAX_EILINE(P) TERN0(HAS_I_MAX, DEFER4(MATCH_EILINE)(P, I_MAX_PIN)) -#define MATCH_I_MIN_EILINE(P) TERN0(HAS_I_MIN, DEFER4(MATCH_EILINE)(P, I_MIN_PIN)) -#define MATCH_J_MAX_EILINE(P) TERN0(HAS_J_MAX, DEFER4(MATCH_EILINE)(P, J_MAX_PIN)) -#define MATCH_J_MIN_EILINE(P) TERN0(HAS_J_MIN, DEFER4(MATCH_EILINE)(P, J_MIN_PIN)) -#define MATCH_K_MAX_EILINE(P) TERN0(HAS_K_MAX, DEFER4(MATCH_EILINE)(P, K_MAX_PIN)) -#define MATCH_K_MIN_EILINE(P) TERN0(HAS_K_MIN, DEFER4(MATCH_EILINE)(P, K_MIN_PIN)) -#define MATCH_U_MAX_EILINE(P) TERN0(HAS_U_MAX, DEFER4(MATCH_EILINE)(P, U_MAX_PIN)) -#define MATCH_U_MIN_EILINE(P) TERN0(HAS_U_MIN, DEFER4(MATCH_EILINE)(P, U_MIN_PIN)) -#define MATCH_V_MAX_EILINE(P) TERN0(HAS_V_MAX, DEFER4(MATCH_EILINE)(P, V_MAX_PIN)) -#define MATCH_V_MIN_EILINE(P) TERN0(HAS_V_MIN, DEFER4(MATCH_EILINE)(P, V_MIN_PIN)) -#define MATCH_W_MAX_EILINE(P) TERN0(HAS_W_MAX, DEFER4(MATCH_EILINE)(P, W_MAX_PIN)) -#define MATCH_W_MIN_EILINE(P) TERN0(HAS_W_MIN, DEFER4(MATCH_EILINE)(P, W_MIN_PIN)) -#define MATCH_X2_MAX_EILINE(P) TERN0(HAS_X2_MAX, DEFER4(MATCH_EILINE)(P, X2_MAX_PIN)) -#define MATCH_X2_MIN_EILINE(P) TERN0(HAS_X2_MIN, DEFER4(MATCH_EILINE)(P, X2_MIN_PIN)) -#define MATCH_Y2_MAX_EILINE(P) TERN0(HAS_Y2_MAX, DEFER4(MATCH_EILINE)(P, Y2_MAX_PIN)) -#define MATCH_Y2_MIN_EILINE(P) TERN0(HAS_Y2_MIN, DEFER4(MATCH_EILINE)(P, Y2_MIN_PIN)) -#define MATCH_Z2_MAX_EILINE(P) TERN0(HAS_Z2_MAX, DEFER4(MATCH_EILINE)(P, Z2_MAX_PIN)) -#define MATCH_Z2_MIN_EILINE(P) TERN0(HAS_Z2_MIN, DEFER4(MATCH_EILINE)(P, Z2_MIN_PIN)) -#define MATCH_Z3_MAX_EILINE(P) TERN0(HAS_Z3_MAX, DEFER4(MATCH_EILINE)(P, Z3_MAX_PIN)) -#define MATCH_Z3_MIN_EILINE(P) TERN0(HAS_Z3_MIN, DEFER4(MATCH_EILINE)(P, Z3_MIN_PIN)) -#define MATCH_Z4_MAX_EILINE(P) TERN0(HAS_Z4_MAX, DEFER4(MATCH_EILINE)(P, Z4_MAX_PIN)) -#define MATCH_Z4_MIN_EILINE(P) TERN0(HAS_Z4_MIN, DEFER4(MATCH_EILINE)(P, Z4_MIN_PIN)) -#define MATCH_Z_MIN_PROBE_EILINE(P) TERN0(HAS_Z_MIN_PROBE_PIN, DEFER4(MATCH_EILINE)(P, Z_MIN_PROBE_PIN)) +#define MATCH_I_MAX_EILINE(P) TERN0(USE_I_MAX, DEFER4(MATCH_EILINE)(P, I_MAX_PIN)) +#define MATCH_I_MIN_EILINE(P) TERN0(USE_I_MIN, DEFER4(MATCH_EILINE)(P, I_MIN_PIN)) +#define MATCH_J_MAX_EILINE(P) TERN0(USE_J_MAX, DEFER4(MATCH_EILINE)(P, J_MAX_PIN)) +#define MATCH_J_MIN_EILINE(P) TERN0(USE_J_MIN, DEFER4(MATCH_EILINE)(P, J_MIN_PIN)) +#define MATCH_K_MAX_EILINE(P) TERN0(USE_K_MAX, DEFER4(MATCH_EILINE)(P, K_MAX_PIN)) +#define MATCH_K_MIN_EILINE(P) TERN0(USE_K_MIN, DEFER4(MATCH_EILINE)(P, K_MIN_PIN)) +#define MATCH_U_MAX_EILINE(P) TERN0(USE_U_MAX, DEFER4(MATCH_EILINE)(P, U_MAX_PIN)) +#define MATCH_U_MIN_EILINE(P) TERN0(USE_U_MIN, DEFER4(MATCH_EILINE)(P, U_MIN_PIN)) +#define MATCH_V_MAX_EILINE(P) TERN0(USE_V_MAX, DEFER4(MATCH_EILINE)(P, V_MAX_PIN)) +#define MATCH_V_MIN_EILINE(P) TERN0(USE_V_MIN, DEFER4(MATCH_EILINE)(P, V_MIN_PIN)) +#define MATCH_W_MAX_EILINE(P) TERN0(USE_W_MAX, DEFER4(MATCH_EILINE)(P, W_MAX_PIN)) +#define MATCH_W_MIN_EILINE(P) TERN0(USE_W_MIN, DEFER4(MATCH_EILINE)(P, W_MIN_PIN)) +#define MATCH_X2_MAX_EILINE(P) TERN0(USE_X2_MAX, DEFER4(MATCH_EILINE)(P, X2_MAX_PIN)) +#define MATCH_X2_MIN_EILINE(P) TERN0(USE_X2_MIN, DEFER4(MATCH_EILINE)(P, X2_MIN_PIN)) +#define MATCH_Y2_MAX_EILINE(P) TERN0(USE_Y2_MAX, DEFER4(MATCH_EILINE)(P, Y2_MAX_PIN)) +#define MATCH_Y2_MIN_EILINE(P) TERN0(USE_Y2_MIN, DEFER4(MATCH_EILINE)(P, Y2_MIN_PIN)) +#define MATCH_Z2_MAX_EILINE(P) TERN0(USE_Z2_MAX, DEFER4(MATCH_EILINE)(P, Z2_MAX_PIN)) +#define MATCH_Z2_MIN_EILINE(P) TERN0(USE_Z2_MIN, DEFER4(MATCH_EILINE)(P, Z2_MIN_PIN)) +#define MATCH_Z3_MAX_EILINE(P) TERN0(USE_Z3_MAX, DEFER4(MATCH_EILINE)(P, Z3_MAX_PIN)) +#define MATCH_Z3_MIN_EILINE(P) TERN0(USE_Z3_MIN, DEFER4(MATCH_EILINE)(P, Z3_MIN_PIN)) +#define MATCH_Z4_MAX_EILINE(P) TERN0(USE_Z4_MAX, DEFER4(MATCH_EILINE)(P, Z4_MAX_PIN)) +#define MATCH_Z4_MIN_EILINE(P) TERN0(USE_Z4_MIN, DEFER4(MATCH_EILINE)(P, Z4_MIN_PIN)) +#define MATCH_Z_MIN_PROBE_EILINE(P) TERN0(USE_Z_MIN_PROBE, DEFER4(MATCH_EILINE)(P, Z_MIN_PROBE_PIN)) #define AVAILABLE_EILINE(P) ( PIN_TO_EILINE(P) != -1 \ && !MATCH_X_MAX_EILINE(P) && !MATCH_X_MIN_EILINE(P) \ @@ -106,31 +106,31 @@ void endstop_ISR() { endstops.update(); } void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(P, endstop_ISR, CHANGE) - #if HAS_X_MAX + #if USE_X_MAX #if !AVAILABLE_EILINE(X_MAX_PIN) #error "X_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X_MAX_PIN); #endif - #if HAS_X_MIN + #if USE_X_MIN #if !AVAILABLE_EILINE(X_MIN_PIN) #error "X_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X_MIN_PIN); #endif - #if HAS_Y_MAX + #if USE_Y_MAX #if !AVAILABLE_EILINE(Y_MAX_PIN) #error "Y_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y_MAX_PIN); #endif - #if HAS_Y_MIN + #if USE_Y_MIN #if !AVAILABLE_EILINE(Y_MIN_PIN) #error "Y_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y_MIN_PIN); #endif - #if HAS_Z_MAX + #if USE_Z_MAX #if !AVAILABLE_EILINE(Z_MAX_PIN) #error "Z_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif @@ -142,139 +142,139 @@ void setup_endstop_interrupts() { #endif _ATTACH(Z_MIN_PIN); #endif - #if HAS_X2_MAX + #if USE_X2_MAX #if !AVAILABLE_EILINE(X2_MAX_PIN) #error "X2_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X2_MAX_PIN); #endif - #if HAS_X2_MIN + #if USE_X2_MIN #if !AVAILABLE_EILINE(X2_MIN_PIN) #error "X2_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X2_MIN_PIN); #endif - #if HAS_Y2_MAX + #if USE_Y2_MAX #if !AVAILABLE_EILINE(Y2_MAX_PIN) #error "Y2_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y2_MAX_PIN); #endif - #if HAS_Y2_MIN + #if USE_Y2_MIN #if !AVAILABLE_EILINE(Y2_MIN_PIN) #error "Y2_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y2_MIN_PIN); #endif - #if HAS_Z2_MAX + #if USE_Z2_MAX #if !AVAILABLE_EILINE(Z2_MAX_PIN) #error "Z2_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z2_MAX_PIN); #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN #if !AVAILABLE_EILINE(Z2_MIN_PIN) #error "Z2_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z2_MIN_PIN); #endif - #if HAS_Z3_MAX + #if USE_Z3_MAX #if !AVAILABLE_EILINE(Z3_MAX_PIN) #error "Z3_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z3_MAX_PIN); #endif - #if HAS_Z3_MIN + #if USE_Z3_MIN #if !AVAILABLE_EILINE(Z3_MIN_PIN) #error "Z3_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z3_MIN_PIN); #endif - #if HAS_Z4_MAX + #if USE_Z4_MAX #if !AVAILABLE_EILINE(Z4_MAX_PIN) #error "Z4_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z4_MAX_PIN); #endif - #if HAS_Z4_MIN + #if USE_Z4_MIN #if !AVAILABLE_EILINE(Z4_MIN_PIN) #error "Z4_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z4_MIN_PIN); #endif - #if HAS_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE #if !AVAILABLE_EILINE(Z_MIN_PROBE_PIN) #error "Z_MIN_PROBE_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z_MIN_PROBE_PIN); #endif - #if HAS_I_MAX + #if USE_I_MAX #if !AVAILABLE_EILINE(I_MAX_PIN) #error "I_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(I_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_I_MIN + #if USE_I_MIN #if !AVAILABLE_EILINE(I_MIN_PIN) #error "I_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(I_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_J_MAX + #if USE_J_MAX #if !AVAILABLE_EILINE(J_MAX_PIN) #error "J_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(J_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_J_MIN + #if USE_J_MIN #if !AVAILABLE_EILINE(J_MIN_PIN) #error "J_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(J_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_K_MAX + #if USE_K_MAX #if !AVAILABLE_EILINE(K_MAX_PIN) #error "K_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(K_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_K_MIN + #if USE_K_MIN #if !AVAILABLE_EILINE(K_MIN_PIN) #error "K_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(K_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_U_MAX + #if USE_U_MAX #if !AVAILABLE_EILINE(U_MAX_PIN) #error "U_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(U_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_U_MIN + #if USE_U_MIN #if !AVAILABLE_EILINE(U_MIN_PIN) #error "U_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(U_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_V_MAX + #if USE_V_MAX #if !AVAILABLE_EILINE(V_MAX_PIN) #error "V_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(V_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_V_MIN + #if USE_V_MIN #if !AVAILABLE_EILINE(V_MIN_PIN) #error "V_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(V_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_W_MAX + #if USE_W_MAX #if !AVAILABLE_EILINE(W_MAX_PIN) #error "W_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(W_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_W_MIN + #if USE_W_MIN #if !AVAILABLE_EILINE(W_MIN_PIN) #error "W_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif diff --git a/Marlin/src/HAL/SAMD51/endstop_interrupts.h b/Marlin/src/HAL/SAMD51/endstop_interrupts.h index b5fead26f40c..40f78baf878f 100644 --- a/Marlin/src/HAL/SAMD51/endstop_interrupts.h +++ b/Marlin/src/HAL/SAMD51/endstop_interrupts.h @@ -53,35 +53,35 @@ #include "../../module/endstops.h" #define MATCH_EILINE(P1,P2) (P1 != P2 && PIN_TO_EILINE(P1) == PIN_TO_EILINE(P2)) -#define MATCH_X_MAX_EILINE(P) TERN0(HAS_X_MAX, DEFER4(MATCH_EILINE)(P, X_MAX_PIN)) -#define MATCH_X_MIN_EILINE(P) TERN0(HAS_X_MIN, DEFER4(MATCH_EILINE)(P, X_MIN_PIN)) -#define MATCH_Y_MAX_EILINE(P) TERN0(HAS_Y_MAX, DEFER4(MATCH_EILINE)(P, Y_MAX_PIN)) -#define MATCH_Y_MIN_EILINE(P) TERN0(HAS_Y_MIN, DEFER4(MATCH_EILINE)(P, Y_MIN_PIN)) -#define MATCH_Z_MAX_EILINE(P) TERN0(HAS_Z_MAX, DEFER4(MATCH_EILINE)(P, Z_MAX_PIN)) +#define MATCH_X_MAX_EILINE(P) TERN0(USE_X_MAX, DEFER4(MATCH_EILINE)(P, X_MAX_PIN)) +#define MATCH_X_MIN_EILINE(P) TERN0(USE_X_MIN, DEFER4(MATCH_EILINE)(P, X_MIN_PIN)) +#define MATCH_Y_MAX_EILINE(P) TERN0(USE_Y_MAX, DEFER4(MATCH_EILINE)(P, Y_MAX_PIN)) +#define MATCH_Y_MIN_EILINE(P) TERN0(USE_Y_MIN, DEFER4(MATCH_EILINE)(P, Y_MIN_PIN)) +#define MATCH_Z_MAX_EILINE(P) TERN0(USE_Z_MAX, DEFER4(MATCH_EILINE)(P, Z_MAX_PIN)) #define MATCH_Z_MIN_EILINE(P) TERN0(HAS_Z_MIN_PIN, DEFER4(MATCH_EILINE)(P, Z_MIN_PIN)) -#define MATCH_I_MAX_EILINE(P) TERN0(HAS_I_MAX, DEFER4(MATCH_EILINE)(P, I_MAX_PIN)) -#define MATCH_I_MIN_EILINE(P) TERN0(HAS_I_MIN, DEFER4(MATCH_EILINE)(P, I_MIN_PIN)) -#define MATCH_J_MAX_EILINE(P) TERN0(HAS_J_MAX, DEFER4(MATCH_EILINE)(P, J_MAX_PIN)) -#define MATCH_J_MIN_EILINE(P) TERN0(HAS_J_MIN, DEFER4(MATCH_EILINE)(P, J_MIN_PIN)) -#define MATCH_K_MAX_EILINE(P) TERN0(HAS_K_MAX, DEFER4(MATCH_EILINE)(P, K_MAX_PIN)) -#define MATCH_K_MIN_EILINE(P) TERN0(HAS_K_MIN, DEFER4(MATCH_EILINE)(P, K_MIN_PIN)) -#define MATCH_U_MAX_EILINE(P) TERN0(HAS_U_MAX, DEFER4(MATCH_EILINE)(P, U_MAX_PIN)) -#define MATCH_U_MIN_EILINE(P) TERN0(HAS_U_MIN, DEFER4(MATCH_EILINE)(P, U_MIN_PIN)) -#define MATCH_V_MAX_EILINE(P) TERN0(HAS_V_MAX, DEFER4(MATCH_EILINE)(P, V_MAX_PIN)) -#define MATCH_V_MIN_EILINE(P) TERN0(HAS_V_MIN, DEFER4(MATCH_EILINE)(P, V_MIN_PIN)) -#define MATCH_W_MAX_EILINE(P) TERN0(HAS_W_MAX, DEFER4(MATCH_EILINE)(P, W_MAX_PIN)) -#define MATCH_W_MIN_EILINE(P) TERN0(HAS_W_MIN, DEFER4(MATCH_EILINE)(P, W_MIN_PIN)) -#define MATCH_X2_MAX_EILINE(P) TERN0(HAS_X2_MAX, DEFER4(MATCH_EILINE)(P, X2_MAX_PIN)) -#define MATCH_X2_MIN_EILINE(P) TERN0(HAS_X2_MIN, DEFER4(MATCH_EILINE)(P, X2_MIN_PIN)) -#define MATCH_Y2_MAX_EILINE(P) TERN0(HAS_Y2_MAX, DEFER4(MATCH_EILINE)(P, Y2_MAX_PIN)) -#define MATCH_Y2_MIN_EILINE(P) TERN0(HAS_Y2_MIN, DEFER4(MATCH_EILINE)(P, Y2_MIN_PIN)) -#define MATCH_Z2_MAX_EILINE(P) TERN0(HAS_Z2_MAX, DEFER4(MATCH_EILINE)(P, Z2_MAX_PIN)) -#define MATCH_Z2_MIN_EILINE(P) TERN0(HAS_Z2_MIN, DEFER4(MATCH_EILINE)(P, Z2_MIN_PIN)) -#define MATCH_Z3_MAX_EILINE(P) TERN0(HAS_Z3_MAX, DEFER4(MATCH_EILINE)(P, Z3_MAX_PIN)) -#define MATCH_Z3_MIN_EILINE(P) TERN0(HAS_Z3_MIN, DEFER4(MATCH_EILINE)(P, Z3_MIN_PIN)) -#define MATCH_Z4_MAX_EILINE(P) TERN0(HAS_Z4_MAX, DEFER4(MATCH_EILINE)(P, Z4_MAX_PIN)) -#define MATCH_Z4_MIN_EILINE(P) TERN0(HAS_Z4_MIN, DEFER4(MATCH_EILINE)(P, Z4_MIN_PIN)) -#define MATCH_Z_MIN_PROBE_EILINE(P) TERN0(HAS_Z_MIN_PROBE_PIN, DEFER4(MATCH_EILINE)(P, Z_MIN_PROBE_PIN)) +#define MATCH_I_MAX_EILINE(P) TERN0(USE_I_MAX, DEFER4(MATCH_EILINE)(P, I_MAX_PIN)) +#define MATCH_I_MIN_EILINE(P) TERN0(USE_I_MIN, DEFER4(MATCH_EILINE)(P, I_MIN_PIN)) +#define MATCH_J_MAX_EILINE(P) TERN0(USE_J_MAX, DEFER4(MATCH_EILINE)(P, J_MAX_PIN)) +#define MATCH_J_MIN_EILINE(P) TERN0(USE_J_MIN, DEFER4(MATCH_EILINE)(P, J_MIN_PIN)) +#define MATCH_K_MAX_EILINE(P) TERN0(USE_K_MAX, DEFER4(MATCH_EILINE)(P, K_MAX_PIN)) +#define MATCH_K_MIN_EILINE(P) TERN0(USE_K_MIN, DEFER4(MATCH_EILINE)(P, K_MIN_PIN)) +#define MATCH_U_MAX_EILINE(P) TERN0(USE_U_MAX, DEFER4(MATCH_EILINE)(P, U_MAX_PIN)) +#define MATCH_U_MIN_EILINE(P) TERN0(USE_U_MIN, DEFER4(MATCH_EILINE)(P, U_MIN_PIN)) +#define MATCH_V_MAX_EILINE(P) TERN0(USE_V_MAX, DEFER4(MATCH_EILINE)(P, V_MAX_PIN)) +#define MATCH_V_MIN_EILINE(P) TERN0(USE_V_MIN, DEFER4(MATCH_EILINE)(P, V_MIN_PIN)) +#define MATCH_W_MAX_EILINE(P) TERN0(USE_W_MAX, DEFER4(MATCH_EILINE)(P, W_MAX_PIN)) +#define MATCH_W_MIN_EILINE(P) TERN0(USE_W_MIN, DEFER4(MATCH_EILINE)(P, W_MIN_PIN)) +#define MATCH_X2_MAX_EILINE(P) TERN0(USE_X2_MAX, DEFER4(MATCH_EILINE)(P, X2_MAX_PIN)) +#define MATCH_X2_MIN_EILINE(P) TERN0(USE_X2_MIN, DEFER4(MATCH_EILINE)(P, X2_MIN_PIN)) +#define MATCH_Y2_MAX_EILINE(P) TERN0(USE_Y2_MAX, DEFER4(MATCH_EILINE)(P, Y2_MAX_PIN)) +#define MATCH_Y2_MIN_EILINE(P) TERN0(USE_Y2_MIN, DEFER4(MATCH_EILINE)(P, Y2_MIN_PIN)) +#define MATCH_Z2_MAX_EILINE(P) TERN0(USE_Z2_MAX, DEFER4(MATCH_EILINE)(P, Z2_MAX_PIN)) +#define MATCH_Z2_MIN_EILINE(P) TERN0(USE_Z2_MIN, DEFER4(MATCH_EILINE)(P, Z2_MIN_PIN)) +#define MATCH_Z3_MAX_EILINE(P) TERN0(USE_Z3_MAX, DEFER4(MATCH_EILINE)(P, Z3_MAX_PIN)) +#define MATCH_Z3_MIN_EILINE(P) TERN0(USE_Z3_MIN, DEFER4(MATCH_EILINE)(P, Z3_MIN_PIN)) +#define MATCH_Z4_MAX_EILINE(P) TERN0(USE_Z4_MAX, DEFER4(MATCH_EILINE)(P, Z4_MAX_PIN)) +#define MATCH_Z4_MIN_EILINE(P) TERN0(USE_Z4_MIN, DEFER4(MATCH_EILINE)(P, Z4_MIN_PIN)) +#define MATCH_Z_MIN_PROBE_EILINE(P) TERN0(USE_Z_MIN_PROBE, DEFER4(MATCH_EILINE)(P, Z_MIN_PROBE_PIN)) #define AVAILABLE_EILINE(P) ( PIN_TO_EILINE(P) != -1 \ && !MATCH_X_MAX_EILINE(P) && !MATCH_X_MIN_EILINE(P) \ @@ -105,31 +105,31 @@ void endstop_ISR() { endstops.update(); } void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(P, endstop_ISR, CHANGE) - #if HAS_X_MAX + #if USE_X_MAX #if !AVAILABLE_EILINE(X_MAX_PIN) #error "X_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X_MAX_PIN); #endif - #if HAS_X_MIN + #if USE_X_MIN #if !AVAILABLE_EILINE(X_MIN_PIN) #error "X_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(X_MIN_PIN); #endif - #if HAS_Y_MAX + #if USE_Y_MAX #if !AVAILABLE_EILINE(Y_MAX_PIN) #error "Y_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y_MAX_PIN); #endif - #if HAS_Y_MIN + #if USE_Y_MIN #if !AVAILABLE_EILINE(Y_MIN_PIN) #error "Y_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Y_MIN_PIN); #endif - #if HAS_Z_MAX + #if USE_Z_MAX #if !AVAILABLE_EILINE(Z_MAX_PIN) #error "Z_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif @@ -141,115 +141,115 @@ void setup_endstop_interrupts() { #endif _ATTACH(Z_MIN_PIN); #endif - #if HAS_Z2_MAX + #if USE_Z2_MAX #if !AVAILABLE_EILINE(Z2_MAX_PIN) #error "Z2_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z2_MAX_PIN); #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN #if !AVAILABLE_EILINE(Z2_MIN_PIN) #error "Z2_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z2_MIN_PIN); #endif - #if HAS_Z3_MAX + #if USE_Z3_MAX #if !AVAILABLE_EILINE(Z3_MAX_PIN) #error "Z3_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z3_MAX_PIN); #endif - #if HAS_Z3_MIN + #if USE_Z3_MIN #if !AVAILABLE_EILINE(Z3_MIN_PIN) #error "Z3_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z3_MIN_PIN); #endif - #if HAS_Z4_MAX + #if USE_Z4_MAX #if !AVAILABLE_EILINE(Z4_MAX_PIN) #error "Z4_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z4_MAX_PIN); #endif - #if HAS_Z4_MIN + #if USE_Z4_MIN #if !AVAILABLE_EILINE(Z4_MIN_PIN) #error "Z4_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z4_MIN_PIN); #endif - #if HAS_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE #if !AVAILABLE_EILINE(Z_MIN_PROBE_PIN) #error "Z_MIN_PROBE_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif _ATTACH(Z_MIN_PROBE_PIN); #endif - #if HAS_I_MAX + #if USE_I_MAX #if !AVAILABLE_EILINE(I_MAX_PIN) #error "I_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(I_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_I_MIN + #if USE_I_MIN #if !AVAILABLE_EILINE(I_MIN_PIN) #error "I_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(I_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_J_MAX + #if USE_J_MAX #if !AVAILABLE_EILINE(J_MAX_PIN) #error "J_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(J_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_J_MIN + #if USE_J_MIN #if !AVAILABLE_EILINE(J_MIN_PIN) #error "J_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(J_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_K_MAX + #if USE_K_MAX #if !AVAILABLE_EILINE(K_MAX_PIN) #error "K_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(K_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_K_MIN + #if USE_K_MIN #if !AVAILABLE_EILINE(K_MIN_PIN) #error "K_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(K_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_U_MAX + #if USE_U_MAX #if !AVAILABLE_EILINE(U_MAX_PIN) #error "U_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(U_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_U_MIN + #if USE_U_MIN #if !AVAILABLE_EILINE(U_MIN_PIN) #error "U_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(U_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_V_MAX + #if USE_V_MAX #if !AVAILABLE_EILINE(V_MAX_PIN) #error "V_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(V_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_V_MIN + #if USE_V_MIN #if !AVAILABLE_EILINE(V_MIN_PIN) #error "V_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(V_MIN_PIN, endstop_ISR, CHANGE); #endif - #if HAS_W_MAX + #if USE_W_MAX #if !AVAILABLE_EILINE(W_MAX_PIN) #error "W_MAX_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif attachInterrupt(W_MAX_PIN, endstop_ISR, CHANGE); #endif - #if HAS_W_MIN + #if USE_W_MIN #if !AVAILABLE_EILINE(W_MIN_PIN) #error "W_MIN_PIN has no EXTINT line available. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #endif diff --git a/Marlin/src/HAL/STM32/endstop_interrupts.h b/Marlin/src/HAL/STM32/endstop_interrupts.h index ce160d940551..5ae228d3f869 100644 --- a/Marlin/src/HAL/STM32/endstop_interrupts.h +++ b/Marlin/src/HAL/STM32/endstop_interrupts.h @@ -29,33 +29,33 @@ void endstop_ISR() { endstops.update(); } void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(P, endstop_ISR, CHANGE) - TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN)); - TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN)); - TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN)); - TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN)); - TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN)); - TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); - TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN)); - TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN)); - TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN)); - TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN)); - TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN)); - TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN)); - TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN)); - TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN)); - TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN)); - TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN)); - TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN)); - TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN)); - TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN)); - TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN)); - TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN)); - TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN)); - TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN)); - TERN_(HAS_U_MAX, _ATTACH(U_MAX_PIN)); - TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN)); - TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN)); - TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN)); - TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN)); - TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN)); + TERN_(USE_X_MAX, _ATTACH(X_MAX_PIN)); + TERN_(USE_X_MIN, _ATTACH(X_MIN_PIN)); + TERN_(USE_Y_MAX, _ATTACH(Y_MAX_PIN)); + TERN_(USE_Y_MIN, _ATTACH(Y_MIN_PIN)); + TERN_(USE_Z_MAX, _ATTACH(Z_MAX_PIN)); + TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); + TERN_(USE_X2_MAX, _ATTACH(X2_MAX_PIN)); + TERN_(USE_X2_MIN, _ATTACH(X2_MIN_PIN)); + TERN_(USE_Y2_MAX, _ATTACH(Y2_MAX_PIN)); + TERN_(USE_Y2_MIN, _ATTACH(Y2_MIN_PIN)); + TERN_(USE_Z2_MAX, _ATTACH(Z2_MAX_PIN)); + TERN_(USE_Z2_MIN, _ATTACH(Z2_MIN_PIN)); + TERN_(USE_Z3_MAX, _ATTACH(Z3_MAX_PIN)); + TERN_(USE_Z3_MIN, _ATTACH(Z3_MIN_PIN)); + TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN)); + TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN)); + TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN)); + TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN)); + TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN)); + TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN)); + TERN_(USE_J_MIN, _ATTACH(J_MIN_PIN)); + TERN_(USE_K_MAX, _ATTACH(K_MAX_PIN)); + TERN_(USE_K_MIN, _ATTACH(K_MIN_PIN)); + TERN_(USE_U_MAX, _ATTACH(U_MAX_PIN)); + TERN_(USE_U_MIN, _ATTACH(U_MIN_PIN)); + TERN_(USE_V_MAX, _ATTACH(V_MAX_PIN)); + TERN_(USE_V_MIN, _ATTACH(V_MIN_PIN)); + TERN_(USE_W_MAX, _ATTACH(W_MAX_PIN)); + TERN_(USE_W_MIN, _ATTACH(W_MIN_PIN)); } diff --git a/Marlin/src/HAL/STM32F1/endstop_interrupts.h b/Marlin/src/HAL/STM32F1/endstop_interrupts.h index b4df5d71f1b3..6febcec5d0f2 100644 --- a/Marlin/src/HAL/STM32F1/endstop_interrupts.h +++ b/Marlin/src/HAL/STM32F1/endstop_interrupts.h @@ -54,33 +54,33 @@ void endstop_ISR() { endstops.update(); } void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(P, endstop_ISR, CHANGE) - TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN)); - TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN)); - TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN)); - TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN)); - TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN)); - TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); - TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN)); - TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN)); - TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN)); - TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN)); - TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN)); - TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN)); - TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN)); - TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN)); - TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN)); - TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN)); - TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN)); - TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN)); - TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN)); - TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN)); - TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN)); - TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN)); - TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN)); - TERN_(HAS_U_MAX, _ATTACH(U_MAX_PIN)); - TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN)); - TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN)); - TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN)); - TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN)); - TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN)); + TERN_(USE_X_MAX, _ATTACH(X_MAX_PIN)); + TERN_(USE_X_MIN, _ATTACH(X_MIN_PIN)); + TERN_(USE_Y_MAX, _ATTACH(Y_MAX_PIN)); + TERN_(USE_Y_MIN, _ATTACH(Y_MIN_PIN)); + TERN_(USE_Z_MAX, _ATTACH(Z_MAX_PIN)); + TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); + TERN_(USE_X2_MAX, _ATTACH(X2_MAX_PIN)); + TERN_(USE_X2_MIN, _ATTACH(X2_MIN_PIN)); + TERN_(USE_Y2_MAX, _ATTACH(Y2_MAX_PIN)); + TERN_(USE_Y2_MIN, _ATTACH(Y2_MIN_PIN)); + TERN_(USE_Z2_MAX, _ATTACH(Z2_MAX_PIN)); + TERN_(USE_Z2_MIN, _ATTACH(Z2_MIN_PIN)); + TERN_(USE_Z3_MAX, _ATTACH(Z3_MAX_PIN)); + TERN_(USE_Z3_MIN, _ATTACH(Z3_MIN_PIN)); + TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN)); + TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN)); + TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN)); + TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN)); + TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN)); + TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN)); + TERN_(USE_J_MIN, _ATTACH(J_MIN_PIN)); + TERN_(USE_K_MAX, _ATTACH(K_MAX_PIN)); + TERN_(USE_K_MIN, _ATTACH(K_MIN_PIN)); + TERN_(USE_U_MAX, _ATTACH(U_MAX_PIN)); + TERN_(USE_U_MIN, _ATTACH(U_MIN_PIN)); + TERN_(USE_V_MAX, _ATTACH(V_MAX_PIN)); + TERN_(USE_V_MIN, _ATTACH(V_MIN_PIN)); + TERN_(USE_W_MAX, _ATTACH(W_MAX_PIN)); + TERN_(USE_W_MIN, _ATTACH(W_MIN_PIN)); } diff --git a/Marlin/src/HAL/TEENSY31_32/endstop_interrupts.h b/Marlin/src/HAL/TEENSY31_32/endstop_interrupts.h index 9ce4fcdb2fce..28510fb508d6 100644 --- a/Marlin/src/HAL/TEENSY31_32/endstop_interrupts.h +++ b/Marlin/src/HAL/TEENSY31_32/endstop_interrupts.h @@ -47,33 +47,33 @@ void endstop_ISR() { endstops.update(); } void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) - TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN)); - TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN)); - TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN)); - TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN)); - TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN)); - TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); - TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN)); - TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN)); - TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN)); - TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN)); - TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN)); - TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN)); - TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN)); - TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN)); - TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN)); - TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN)); - TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN)); - TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN)); - TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN)); - TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN)); - TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN)); - TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN)); - TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN)); - TERN_(HAS_U_MAX, _ATTACH(U_MAX_PIN)); - TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN)); - TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN)); - TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN)); - TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN)); - TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN)); + TERN_(USE_X_MAX, _ATTACH(X_MAX_PIN)); + TERN_(USE_X_MIN, _ATTACH(X_MIN_PIN)); + TERN_(USE_Y_MAX, _ATTACH(Y_MAX_PIN)); + TERN_(USE_Y_MIN, _ATTACH(Y_MIN_PIN)); + TERN_(USE_Z_MAX, _ATTACH(Z_MAX_PIN)); + TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); + TERN_(USE_X2_MAX, _ATTACH(X2_MAX_PIN)); + TERN_(USE_X2_MIN, _ATTACH(X2_MIN_PIN)); + TERN_(USE_Y2_MAX, _ATTACH(Y2_MAX_PIN)); + TERN_(USE_Y2_MIN, _ATTACH(Y2_MIN_PIN)); + TERN_(USE_Z2_MAX, _ATTACH(Z2_MAX_PIN)); + TERN_(USE_Z2_MIN, _ATTACH(Z2_MIN_PIN)); + TERN_(USE_Z3_MAX, _ATTACH(Z3_MAX_PIN)); + TERN_(USE_Z3_MIN, _ATTACH(Z3_MIN_PIN)); + TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN)); + TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN)); + TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN)); + TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN)); + TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN)); + TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN)); + TERN_(USE_J_MIN, _ATTACH(J_MIN_PIN)); + TERN_(USE_K_MAX, _ATTACH(K_MAX_PIN)); + TERN_(USE_K_MIN, _ATTACH(K_MIN_PIN)); + TERN_(USE_U_MAX, _ATTACH(U_MAX_PIN)); + TERN_(USE_U_MIN, _ATTACH(U_MIN_PIN)); + TERN_(USE_V_MAX, _ATTACH(V_MAX_PIN)); + TERN_(USE_V_MIN, _ATTACH(V_MIN_PIN)); + TERN_(USE_W_MAX, _ATTACH(W_MAX_PIN)); + TERN_(USE_W_MIN, _ATTACH(W_MIN_PIN)); } diff --git a/Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h b/Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h index c9ef2787698d..505434cd8966 100644 --- a/Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h +++ b/Marlin/src/HAL/TEENSY35_36/endstop_interrupts.h @@ -46,33 +46,33 @@ void endstop_ISR() { endstops.update(); } */ void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) - TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN)); - TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN)); - TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN)); - TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN)); - TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN)); - TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); - TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN)); - TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN)); - TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN)); - TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN)); - TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN)); - TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN)); - TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN)); - TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN)); - TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN)); - TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN)); - TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN)); - TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN)); - TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN)); - TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN)); - TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN)); - TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN)); - TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN)); - TERN_(HAS_U_MAX, _ATTACH(U_MAX_PIN)); - TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN)); - TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN)); - TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN)); - TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN)); - TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN)); + TERN_(USE_X_MAX, _ATTACH(X_MAX_PIN)); + TERN_(USE_X_MIN, _ATTACH(X_MIN_PIN)); + TERN_(USE_Y_MAX, _ATTACH(Y_MAX_PIN)); + TERN_(USE_Y_MIN, _ATTACH(Y_MIN_PIN)); + TERN_(USE_Z_MAX, _ATTACH(Z_MAX_PIN)); + TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); + TERN_(USE_X2_MAX, _ATTACH(X2_MAX_PIN)); + TERN_(USE_X2_MIN, _ATTACH(X2_MIN_PIN)); + TERN_(USE_Y2_MAX, _ATTACH(Y2_MAX_PIN)); + TERN_(USE_Y2_MIN, _ATTACH(Y2_MIN_PIN)); + TERN_(USE_Z2_MAX, _ATTACH(Z2_MAX_PIN)); + TERN_(USE_Z2_MIN, _ATTACH(Z2_MIN_PIN)); + TERN_(USE_Z3_MAX, _ATTACH(Z3_MAX_PIN)); + TERN_(USE_Z3_MIN, _ATTACH(Z3_MIN_PIN)); + TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN)); + TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN)); + TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN)); + TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN)); + TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN)); + TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN)); + TERN_(USE_J_MIN, _ATTACH(J_MIN_PIN)); + TERN_(USE_K_MAX, _ATTACH(K_MAX_PIN)); + TERN_(USE_K_MIN, _ATTACH(K_MIN_PIN)); + TERN_(USE_U_MAX, _ATTACH(U_MAX_PIN)); + TERN_(USE_U_MIN, _ATTACH(U_MIN_PIN)); + TERN_(USE_V_MAX, _ATTACH(V_MAX_PIN)); + TERN_(USE_V_MIN, _ATTACH(V_MIN_PIN)); + TERN_(USE_W_MAX, _ATTACH(W_MAX_PIN)); + TERN_(USE_W_MIN, _ATTACH(W_MIN_PIN)); } diff --git a/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h b/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h index 1e4ce4cef336..325d97daeb71 100644 --- a/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h +++ b/Marlin/src/HAL/TEENSY40_41/endstop_interrupts.h @@ -46,33 +46,33 @@ void endstop_ISR() { endstops.update(); } */ void setup_endstop_interrupts() { #define _ATTACH(P) attachInterrupt(digitalPinToInterrupt(P), endstop_ISR, CHANGE) - TERN_(HAS_X_MAX, _ATTACH(X_MAX_PIN)); - TERN_(HAS_X_MIN, _ATTACH(X_MIN_PIN)); - TERN_(HAS_Y_MAX, _ATTACH(Y_MAX_PIN)); - TERN_(HAS_Y_MIN, _ATTACH(Y_MIN_PIN)); - TERN_(HAS_Z_MAX, _ATTACH(Z_MAX_PIN)); - TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); - TERN_(HAS_X2_MAX, _ATTACH(X2_MAX_PIN)); - TERN_(HAS_X2_MIN, _ATTACH(X2_MIN_PIN)); - TERN_(HAS_Y2_MAX, _ATTACH(Y2_MAX_PIN)); - TERN_(HAS_Y2_MIN, _ATTACH(Y2_MIN_PIN)); - TERN_(HAS_Z2_MAX, _ATTACH(Z2_MAX_PIN)); - TERN_(HAS_Z2_MIN, _ATTACH(Z2_MIN_PIN)); - TERN_(HAS_Z3_MAX, _ATTACH(Z3_MAX_PIN)); - TERN_(HAS_Z3_MIN, _ATTACH(Z3_MIN_PIN)); - TERN_(HAS_Z4_MAX, _ATTACH(Z4_MAX_PIN)); - TERN_(HAS_Z4_MIN, _ATTACH(Z4_MIN_PIN)); - TERN_(HAS_Z_MIN_PROBE_PIN, _ATTACH(Z_MIN_PROBE_PIN)); - TERN_(HAS_I_MAX, _ATTACH(I_MAX_PIN)); - TERN_(HAS_I_MIN, _ATTACH(I_MIN_PIN)); - TERN_(HAS_J_MAX, _ATTACH(J_MAX_PIN)); - TERN_(HAS_J_MIN, _ATTACH(J_MIN_PIN)); - TERN_(HAS_K_MAX, _ATTACH(K_MAX_PIN)); - TERN_(HAS_K_MIN, _ATTACH(K_MIN_PIN)); - TERN_(HAS_U_MAX, _ATTACH(U_MAX_PIN)); - TERN_(HAS_U_MIN, _ATTACH(U_MIN_PIN)); - TERN_(HAS_V_MAX, _ATTACH(V_MAX_PIN)); - TERN_(HAS_V_MIN, _ATTACH(V_MIN_PIN)); - TERN_(HAS_W_MAX, _ATTACH(W_MAX_PIN)); - TERN_(HAS_W_MIN, _ATTACH(W_MIN_PIN)); + TERN_(USE_X_MAX, _ATTACH(X_MAX_PIN)); + TERN_(USE_X_MIN, _ATTACH(X_MIN_PIN)); + TERN_(USE_Y_MAX, _ATTACH(Y_MAX_PIN)); + TERN_(USE_Y_MIN, _ATTACH(Y_MIN_PIN)); + TERN_(USE_Z_MAX, _ATTACH(Z_MAX_PIN)); + TERN_(HAS_Z_MIN_PIN, _ATTACH(Z_MIN_PIN)); + TERN_(USE_X2_MAX, _ATTACH(X2_MAX_PIN)); + TERN_(USE_X2_MIN, _ATTACH(X2_MIN_PIN)); + TERN_(USE_Y2_MAX, _ATTACH(Y2_MAX_PIN)); + TERN_(USE_Y2_MIN, _ATTACH(Y2_MIN_PIN)); + TERN_(USE_Z2_MAX, _ATTACH(Z2_MAX_PIN)); + TERN_(USE_Z2_MIN, _ATTACH(Z2_MIN_PIN)); + TERN_(USE_Z3_MAX, _ATTACH(Z3_MAX_PIN)); + TERN_(USE_Z3_MIN, _ATTACH(Z3_MIN_PIN)); + TERN_(USE_Z4_MAX, _ATTACH(Z4_MAX_PIN)); + TERN_(USE_Z4_MIN, _ATTACH(Z4_MIN_PIN)); + TERN_(USE_Z_MIN_PROBE, _ATTACH(Z_MIN_PROBE_PIN)); + TERN_(USE_I_MAX, _ATTACH(I_MAX_PIN)); + TERN_(USE_I_MIN, _ATTACH(I_MIN_PIN)); + TERN_(USE_J_MAX, _ATTACH(J_MAX_PIN)); + TERN_(USE_J_MIN, _ATTACH(J_MIN_PIN)); + TERN_(USE_K_MAX, _ATTACH(K_MAX_PIN)); + TERN_(USE_K_MIN, _ATTACH(K_MIN_PIN)); + TERN_(USE_U_MAX, _ATTACH(U_MAX_PIN)); + TERN_(USE_U_MIN, _ATTACH(U_MIN_PIN)); + TERN_(USE_V_MAX, _ATTACH(V_MAX_PIN)); + TERN_(USE_V_MIN, _ATTACH(V_MIN_PIN)); + TERN_(USE_W_MAX, _ATTACH(W_MAX_PIN)); + TERN_(USE_W_MIN, _ATTACH(W_MIN_PIN)); } diff --git a/Marlin/src/feature/tmc_util.h b/Marlin/src/feature/tmc_util.h index c10bab62749d..fffa748f93cc 100644 --- a/Marlin/src/feature/tmc_util.h +++ b/Marlin/src/feature/tmc_util.h @@ -378,6 +378,7 @@ void test_tmc_connection(LOGICAL_AXIS_DECL(const bool, true)); return drv_status.stallGuard; } + #endif // SPI_ENDSTOPS #endif // USE_SENSORLESS diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index ed2cda29326e..4c654c350925 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -332,7 +332,7 @@ void GcodeSuite::G28() { #if SENSORLESS_STALLGUARD_DELAY safe_delay(SENSORLESS_STALLGUARD_DELAY); // Short delay needed to settle #endif - #endif + #endif // HAS_HOMING_CURRENT #if ENABLED(IMPROVE_HOMING_RELIABILITY) motion_state_t saved_motion_state = begin_slow_homing(); diff --git a/Marlin/src/gcode/calibrate/G33.cpp b/Marlin/src/gcode/calibrate/G33.cpp index 08734073d665..226570acce36 100644 --- a/Marlin/src/gcode/calibrate/G33.cpp +++ b/Marlin/src/gcode/calibrate/G33.cpp @@ -476,8 +476,7 @@ void GcodeSuite::G33() { #if HAS_DELTA_SENSORLESS_PROBING if (verbose_level > 0 && do_save_offset_adj) { offset_sensorless_adj.reset(); - - auto caltower = [&](Probe::sense_bool_t s){ + auto caltower = [&](Probe::sense_bool_t s) { float z_at_pt[NPP + 1]; LOOP_CAL_ALL(rad) z_at_pt[rad] = 0.0f; probe.test_sensitivity = s; diff --git a/Marlin/src/gcode/control/M605.cpp b/Marlin/src/gcode/control/M605.cpp index a52c706fa6b5..6bf99df4c27a 100644 --- a/Marlin/src/gcode/control/M605.cpp +++ b/Marlin/src/gcode/control/M605.cpp @@ -127,21 +127,20 @@ case DXC_MIRRORED_MODE: DEBUG_ECHOPGM("MIRRORED"); break; } DEBUG_ECHOPGM("\nActive Ext: ", active_extruder); - if (!active_extruder_parked) DEBUG_ECHOPGM(" NOT "); - DEBUG_ECHOPGM(" parked."); - DEBUG_ECHOPGM("\nactive_extruder_x_pos: ", current_position.x); - DEBUG_ECHOPGM("\ninactive_extruder_x: ", inactive_extruder_x); - DEBUG_ECHOPGM("\nextruder_duplication_enabled: ", extruder_duplication_enabled); - DEBUG_ECHOPGM("\nduplicate_extruder_x_offset: ", duplicate_extruder_x_offset); - DEBUG_ECHOPGM("\nduplicate_extruder_temp_offset: ", duplicate_extruder_temp_offset); - DEBUG_ECHOPGM("\ndelayed_move_time: ", delayed_move_time); - DEBUG_ECHOPGM("\nX1 Home X: ", x_home_pos(0), "\nX1_MIN_POS=", X1_MIN_POS, "\nX1_MAX_POS=", X1_MAX_POS); - DEBUG_ECHOPGM("\nX2 Home X: ", x_home_pos(1), "\nX2_MIN_POS=", X2_MIN_POS, "\nX2_MAX_POS=", X2_MAX_POS); - DEBUG_ECHOPGM("\nX2_HOME_DIR=", X2_HOME_DIR, "\nX2_HOME_POS=", X2_HOME_POS); - DEBUG_ECHOPGM("\nDEFAULT_DUAL_X_CARRIAGE_MODE=", STRINGIFY(DEFAULT_DUAL_X_CARRIAGE_MODE)); - DEBUG_ECHOPGM("\toolchange_settings.z_raise=", toolchange_settings.z_raise); - DEBUG_ECHOPGM("\nDEFAULT_DUPLICATION_X_OFFSET=", DEFAULT_DUPLICATION_X_OFFSET); - DEBUG_EOL(); + if (!active_extruder_parked) DEBUG_ECHOPGM(" NOT ", F(" parked.")); + DEBUG_ECHOLNPGM( + "\nactive_extruder_x_pos: ", current_position.x, + "\ninactive_extruder_x: ", inactive_extruder_x, + "\nextruder_duplication_enabled: ", extruder_duplication_enabled, + "\nduplicate_extruder_x_offset: ", duplicate_extruder_x_offset, + "\nduplicate_extruder_temp_offset: ", duplicate_extruder_temp_offset, + "\ndelayed_move_time: ", delayed_move_time, + "\nX1 Home: ", x_home_pos(0), " X1_MIN_POS=", X1_MIN_POS, " X1_MAX_POS=", X1_MAX_POS, + "\nX2 Home: ", x_home_pos(1), " X2_MIN_POS=", X2_MIN_POS, " X2_MAX_POS=", X2_MAX_POS, + "\nDEFAULT_DUAL_X_CARRIAGE_MODE=", STRINGIFY(DEFAULT_DUAL_X_CARRIAGE_MODE), + "\toolchange_settings.z_raise=", toolchange_settings.z_raise, + "\nDEFAULT_DUPLICATION_X_OFFSET=", DEFAULT_DUPLICATION_X_OFFSET + ); HOTEND_LOOP() { DEBUG_ECHOPGM_P(SP_T_STR, e); diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index bee4abf7a70d..8114cb426106 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -1391,9 +1391,9 @@ #define HAS_DELTA_SENSORLESS_PROBING 1 #endif #if NONE(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, HAS_DELTA_SENSORLESS_PROBING) - #define USES_Z_MIN_PROBE_PIN 1 + #define USE_Z_MIN_PROBE 1 #endif - #if Z_HOME_TO_MIN && (DISABLED(USES_Z_MIN_PROBE_PIN) || ENABLED(USE_PROBE_FOR_Z_HOMING)) + #if Z_HOME_TO_MIN && (DISABLED(USE_Z_MIN_PROBE) || ENABLED(USE_PROBE_FOR_Z_HOMING)) #define HOMING_Z_WITH_PROBE 1 #endif #ifndef Z_PROBE_LOW_POINT @@ -1778,7 +1778,7 @@ #endif #endif -#if X_HOME_DIR || (HAS_Y_AXIS && Y_HOME_DIR) || (HAS_Z_AXIS && Z_HOME_DIR) \ +#if (HAS_X_AXIS && X_HOME_DIR) || (HAS_Y_AXIS && Y_HOME_DIR) || (HAS_Z_AXIS && Z_HOME_DIR) \ || (HAS_I_AXIS && I_HOME_DIR) || (HAS_J_AXIS && J_HOME_DIR) || (HAS_K_AXIS && K_HOME_DIR) \ || (HAS_U_AXIS && U_HOME_DIR) || (HAS_V_AXIS && V_HOME_DIR) || (HAS_W_AXIS && W_HOME_DIR) #define HAS_ENDSTOPS 1 diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 1772430dc493..7ea12f049340 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -1044,12 +1044,6 @@ #define POLL_JOG #endif -#if X2_HOME_DIR > 0 - #define X2_HOME_TO_MAX 1 -#elif X2_HOME_DIR < 0 - #define X2_HOME_TO_MIN 1 -#endif - #ifndef HOMING_BUMP_MM #define HOMING_BUMP_MM { 0, 0, 0 } #endif @@ -1156,6 +1150,7 @@ #define SD_CONNECTION_IS(V) (_SDCARD_ID(SDCARD_CONNECTION) == _SDCARD_ID(V)) #else #define SD_CONNECTION_IS(...) 0 + #undef SD_ABORT_ON_ENDSTOP_HIT #endif // Power Monitor sensors diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 7319905ee636..b7ee00def826 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -1398,6 +1398,7 @@ #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) #define USE_SENSORLESS 1 #endif + // Disable Z axis sensorless homing if a probe is used to home the Z axis #if HOMING_Z_WITH_PROBE #undef Z_STALL_SENSITIVITY @@ -1481,15 +1482,6 @@ #define Y2_SLAVE_ADDRESS 0 #endif #endif - #if HAS_U_AXIS - #define U_SPI_SENSORLESS U_SENSORLESS - #endif - #if HAS_V_AXIS - #define V_SPI_SENSORLESS V_SENSORLESS - #endif - #if HAS_W_AXIS - #define W_SPI_SENSORLESS W_SENSORLESS - #endif #endif #if AXIS_IS_TMC(Z) @@ -1944,202 +1936,205 @@ // Endstops and bed probe // -#define _HAS_STOP(A,N,M,C) ((A##_HOME_TO_##M || (C+0)) && PIN_EXISTS(A##N##_##M)) +#define _USE_STOP(A,N,M,C) ((A##_HOME_TO_##M || (C+0)) && PIN_EXISTS(A##N##_##M)) -#if _HAS_STOP(X,,MIN,) - #define HAS_X_MIN 1 +#if _USE_STOP(X,,MIN,) + #define USE_X_MIN 1 #endif -#if _HAS_STOP(X,,MAX,ENABLED(DUAL_X_CARRIAGE)) - #define HAS_X_MAX 1 +#if _USE_STOP(X,,MAX,ENABLED(DUAL_X_CARRIAGE)) + #define USE_X_MAX 1 #endif -#if HAS_X_MIN || HAS_X_MAX +#if USE_X_MIN || USE_X_MAX #define HAS_X_ENDSTOP 1 #endif -#if _HAS_STOP(Y,,MIN,) - #define HAS_Y_MIN 1 -#elif _HAS_STOP(Y,,MAX,) - #define HAS_Y_MAX 1 +#if _USE_STOP(Y,,MIN,) + #define USE_Y_MIN 1 +#elif _USE_STOP(Y,,MAX,) + #define USE_Y_MAX 1 #endif -#if HAS_Y_MIN || HAS_Y_MAX +#if USE_Y_MIN || USE_Y_MAX #define HAS_Y_ENDSTOP 1 #endif -#if _HAS_STOP(Z,,MIN,EITHER(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, HAS_DELTA_SENSORLESS_PROBING)) - #define HAS_Z_MIN 1 +#if _USE_STOP(Z,,MIN,EITHER(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, HAS_DELTA_SENSORLESS_PROBING)) + #define USE_Z_MIN 1 #if !HAS_DELTA_SENSORLESS_PROBING #define HAS_Z_MIN_PIN 1 #endif #endif -#if _HAS_STOP(Z,,MAX,) - #define HAS_Z_MAX 1 +#if _USE_STOP(Z,,MAX,) + #define USE_Z_MAX 1 #endif -#if HAS_Z_MIN || HAS_Z_MAX +#if USE_Z_MIN || USE_Z_MAX #define HAS_Z_ENDSTOP 1 #endif -#if _HAS_STOP(I,,MIN,) - #define HAS_I_MIN 1 -#elif _HAS_STOP(I,,MAX,) - #define HAS_I_MAX 1 +#if _USE_STOP(I,,MIN,) + #define USE_I_MIN 1 +#elif _USE_STOP(I,,MAX,) + #define USE_I_MAX 1 #endif -#if HAS_I_MIN || HAS_I_MAX +#if USE_I_MIN || USE_I_MAX #define HAS_I_ENDSTOP 1 #endif -#if _HAS_STOP(J,,MIN,) - #define HAS_J_MIN 1 -#elif _HAS_STOP(J,,MAX,) - #define HAS_J_MAX 1 +#if _USE_STOP(J,,MIN,) + #define USE_J_MIN 1 +#elif _USE_STOP(J,,MAX,) + #define USE_J_MAX 1 #endif -#if HAS_J_MIN || HAS_J_MAX +#if USE_J_MIN || USE_J_MAX #define HAS_J_ENDSTOP 1 #endif -#if _HAS_STOP(K,,MIN,) - #define HAS_K_MIN 1 -#elif _HAS_STOP(K,,MAX,) - #define HAS_K_MAX 1 +#if _USE_STOP(K,,MIN,) + #define USE_K_MIN 1 +#elif _USE_STOP(K,,MAX,) + #define USE_K_MAX 1 #endif -#if HAS_K_MIN || HAS_K_MAX +#if USE_K_MIN || USE_K_MAX #define HAS_K_ENDSTOP 1 #endif -#if _HAS_STOP(U,,MIN,) - #define HAS_U_MIN 1 -#elif _HAS_STOP(U,,MAX,) - #define HAS_U_MAX 1 +#if _USE_STOP(U,,MIN,) + #define USE_U_MIN 1 +#elif _USE_STOP(U,,MAX,) + #define USE_U_MAX 1 #endif -#if HAS_U_MIN || HAS_U_MAX +#if USE_U_MIN || USE_U_MAX #define HAS_U_ENDSTOP 1 #endif -#if _HAS_STOP(V,,MIN,) - #define HAS_V_MIN 1 -#elif _HAS_STOP(V,,MAX,) - #define HAS_V_MAX 1 +#if _USE_STOP(V,,MIN,) + #define USE_V_MIN 1 +#elif _USE_STOP(V,,MAX,) + #define USE_V_MAX 1 #endif -#if HAS_V_MIN || HAS_V_MAX +#if USE_V_MIN || USE_V_MAX #define HAS_V_ENDSTOP 1 #endif -#if _HAS_STOP(W,,MIN,) - #define HAS_W_MIN 1 -#elif _HAS_STOP(W,,MAX,) - #define HAS_W_MAX 1 +#if _USE_STOP(W,,MIN,) + #define USE_W_MIN 1 +#elif _USE_STOP(W,,MAX,) + #define USE_W_MAX 1 #endif -#if HAS_W_MIN || HAS_W_MAX +#if USE_W_MIN || USE_W_MAX #define HAS_W_ENDSTOP 1 #endif #if EITHER(DUAL_X_CARRIAGE, X_DUAL_ENDSTOPS) - #if _HAS_STOP(X,2,MIN,) - #define HAS_X2_MIN 1 - #elif _HAS_STOP(X,2,MAX,) - #define HAS_X2_MAX 1 + #if _USE_STOP(X,2,MIN,) + #define USE_X2_MIN 1 + #elif _USE_STOP(X,2,MAX,) + #define USE_X2_MAX 1 #endif - #if HAS_X2_MIN || HAS_X2_MAX + #if USE_X2_MIN || USE_X2_MAX #define HAS_X2_ENDSTOP 1 #endif #endif #if ENABLED(Y_DUAL_ENDSTOPS) - #if _HAS_STOP(Y,2,MIN,) - #define HAS_Y2_MIN 1 - #elif _HAS_STOP(Y,2,MAX,) - #define HAS_Y2_MAX 1 + #if _USE_STOP(Y,2,MIN,) + #define USE_Y2_MIN 1 + #elif _USE_STOP(Y,2,MAX,) + #define USE_Y2_MAX 1 #endif - #if HAS_Y2_MIN || HAS_Y2_MAX + #if USE_Y2_MIN || USE_Y2_MAX #define HAS_Y2_ENDSTOP 1 #endif #endif #if ENABLED(Z_MULTI_ENDSTOPS) - #if _HAS_STOP(Z,2,MIN,) - #define HAS_Z2_MIN 1 - #elif _HAS_STOP(Z,2,MAX,) - #define HAS_Z2_MAX 1 + #if _USE_STOP(Z,2,MIN,) + #define USE_Z2_MIN 1 + #elif _USE_STOP(Z,2,MAX,) + #define USE_Z2_MAX 1 #endif - #if HAS_Z2_MIN || HAS_Z2_MAX + #if USE_Z2_MIN || USE_Z2_MAX #define HAS_Z2_ENDSTOP 1 #endif #if NUM_Z_STEPPERS >= 3 - #if _HAS_STOP(Z,3,MIN,) - #define HAS_Z3_MIN 1 - #elif _HAS_STOP(Z,3,MAX,) - #define HAS_Z3_MAX 1 + #if _USE_STOP(Z,3,MIN,) + #define USE_Z3_MIN 1 + #elif _USE_STOP(Z,3,MAX,) + #define USE_Z3_MAX 1 #endif - #if HAS_Z3_MIN || HAS_Z3_MAX + #if USE_Z3_MIN || USE_Z3_MAX #define HAS_Z3_ENDSTOP 1 #endif #endif #if NUM_Z_STEPPERS >= 4 - #if _HAS_STOP(Z,4,MIN,) - #define HAS_Z4_MIN 1 - #elif _HAS_STOP(Z,4,MAX,) - #define HAS_Z4_MAX 1 + #if _USE_STOP(Z,4,MIN,) + #define USE_Z4_MIN 1 + #elif _USE_STOP(Z,4,MAX,) + #define USE_Z4_MAX 1 #endif - #if HAS_Z4_MIN || HAS_Z4_MAX + #if USE_Z4_MIN || USE_Z4_MAX #define HAS_Z4_ENDSTOP 1 #endif #endif #endif -#if HAS_BED_PROBE && PIN_EXISTS(Z_MIN_PROBE) - #define HAS_Z_MIN_PROBE_PIN 1 -#endif - -#undef _HAS_STOP +#undef _USE_STOP /** * Set ENDSTOPPULLUPS for active endstop switches */ #if ENABLED(ENDSTOPPULLUPS) - #if HAS_X_MIN + #if USE_X_MIN #define ENDSTOPPULLUP_XMIN #endif - #if HAS_X_MAX + #if USE_X_MAX #define ENDSTOPPULLUP_XMAX #endif - #if HAS_Y_MIN + #if USE_Y_MIN #define ENDSTOPPULLUP_YMIN - #elif HAS_Y_MAX + #endif + #if USE_Y_MAX #define ENDSTOPPULLUP_YMAX #endif #if HAS_Z_MIN_PIN #define ENDSTOPPULLUP_ZMIN #endif - #if HAS_Z_MAX + #if USE_Z_MAX #define ENDSTOPPULLUP_ZMAX #endif - #if HAS_I_MIN + #if USE_I_MIN #define ENDSTOPPULLUP_IMIN - #elif HAS_I_MAX + #endif + #if USE_I_MAX #define ENDSTOPPULLUP_IMAX #endif - #if HAS_J_MIN + #if USE_J_MIN #define ENDSTOPPULLUP_JMIN - #elif HAS_J_MAX + #endif + #if USE_J_MAX #define ENDSTOPPULLUP_JMAX #endif - #if HAS_K_MIN + #if USE_K_MIN #define ENDSTOPPULLUP_KMIN - #elif HAS_K_MAX + #endif + #if USE_K_MAX #define ENDSTOPPULLUP_KMAX #endif - #if HAS_U_MIN + #if USE_U_MIN #define ENDSTOPPULLUP_UMIN - #elif HAS_U_MAX + #endif + #if USE_U_MAX #define ENDSTOPPULLUP_UMAX #endif - #if HAS_V_MIN + #if USE_V_MIN #define ENDSTOPPULLUP_VMIN - #elif HAS_V_MAX + #endif + #if USE_V_MAX #define ENDSTOPPULLUP_VMAX #endif - #if HAS_W_MIN + #if USE_W_MIN #define ENDSTOPPULLUP_WMIN - #elif HAS_W_MAX + #endif + #if USE_W_MAX #define ENDSTOPPULLUP_WMAX #endif #endif @@ -2148,51 +2143,58 @@ * Set ENDSTOPPULLDOWNS for active endstop switches */ #if ENABLED(ENDSTOPPULLDOWNS) - #if HAS_X_MIN + #if USE_X_MIN #define ENDSTOPPULLDOWN_XMIN #endif - #if HAS_X_MAX + #if USE_X_MAX #define ENDSTOPPULLDOWN_XMAX #endif - #if HAS_Y_MIN + #if USE_Y_MIN #define ENDSTOPPULLDOWN_YMIN - #elif HAS_Y_MAX + #endif + #if USE_Y_MAX #define ENDSTOPPULLDOWN_YMAX #endif - #if HAS_Z_MIN_PIN + #if USE_Z_MIN #define ENDSTOPPULLDOWN_ZMIN #endif - #if HAS_Z_MAX + #if USE_Z_MAX #define ENDSTOPPULLDOWN_ZMAX #endif - #if HAS_I_MIN + #if USE_I_MIN #define ENDSTOPPULLDOWN_IMIN - #elif HAS_I_MAX + #endif + #if USE_I_MAX #define ENDSTOPPULLDOWN_IMAX #endif - #if HAS_J_MIN + #if USE_J_MIN #define ENDSTOPPULLDOWN_JMIN - #elif HAS_J_MAX + #endif + #if USE_J_MAX #define ENDSTOPPULLDOWN_JMAX #endif - #if HAS_K_MIN + #if USE_K_MIN #define ENDSTOPPULLDOWN_KMIN - #elif HAS_K_MAX + #endif + #if USE_K_MAX #define ENDSTOPPULLDOWN_KMAX #endif - #if HAS_U_MIN + #if USE_U_MIN #define ENDSTOPPULLDOWN_UMIN - #elif HAS_U_MAX + #endif + #if USE_U_MAX #define ENDSTOPPULLDOWN_UMAX #endif - #if HAS_V_MIN + #if USE_V_MIN #define ENDSTOPPULLDOWN_VMIN - #elif HAS_V_MAX + #endif + #if USE_V_MAX #define ENDSTOPPULLDOWN_VMAX #endif - #if HAS_W_MIN + #if USE_W_MIN #define ENDSTOPPULLDOWN_WMIN - #elif HAS_W_MAX + #endif + #if USE_W_MAX #define ENDSTOPPULLDOWN_WMAX #endif #endif @@ -2817,7 +2819,7 @@ #endif #endif #if HAS_BED_PROBE - #if BOTH(ENDSTOPPULLUPS, HAS_Z_MIN_PROBE_PIN) + #if BOTH(ENDSTOPPULLUPS, USE_Z_MIN_PROBE) #define ENDSTOPPULLUP_ZMIN_PROBE #endif #ifndef XY_PROBE_FEEDRATE diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 74633b9ec434..223baf928dcf 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -1253,7 +1253,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L #else #define _IS_5V_TOLERANT(P) 1 // Assume 5V tolerance #endif - #if USES_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE #if !_IS_5V_TOLERANT(Z_MIN_PROBE_PIN) #error "BLTOUCH_SET_5V_MODE is not compatible with the Z_MIN_PROBE_PIN." #endif @@ -1265,7 +1265,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L #undef _IS_5V_TOLERANT #undef _5V #elif NONE(ONBOARD_ENDSTOPPULLUPS, ENDSTOPPULLUPS, ENDSTOPPULLUP_ZMIN, ENDSTOPPULLUP_ZMIN_PROBE) - #if USES_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE #error "BLTOUCH on Z_MIN_PROBE_PIN requires ENDSTOPPULLUP_ZMIN_PROBE, ENDSTOPPULLUPS, or BLTOUCH_SET_5V_MODE." #else #error "BLTOUCH on Z_MIN_PIN requires ENDSTOPPULLUP_ZMIN, ENDSTOPPULLUPS, or BLTOUCH_SET_5V_MODE." @@ -1382,7 +1382,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L #elif Z_MIN_PROBE_ENDSTOP_HIT_STATE != Z_MIN_ENDSTOP_HIT_STATE #error "Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires Z_MIN_ENDSTOP_HIT_STATE to match Z_MIN_PROBE_ENDSTOP_HIT_STATE." #endif - #elif !HAS_Z_MIN_PROBE_PIN + #elif !USE_Z_MIN_PROBE #error "Z_MIN_PROBE_PIN must be defined if Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN is not enabled." #endif @@ -1767,12 +1767,12 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L #error "DUAL_X_CARRIAGE cannot be used with COREXY, COREYX, COREXZ, COREZX, MARKFORGED_YX, or MARKFORGED_XY." #elif !GOOD_AXIS_PINS(X2) #error "DUAL_X_CARRIAGE requires X2 stepper pins to be defined." - #elif !HAS_X_MAX + #elif !USE_X_MAX #error "DUAL_X_CARRIAGE requires an X_MAX_PIN in addition to the X_MIN_PIN." #elif !defined(X2_HOME_POS) || !defined(X2_MIN_POS) || !defined(X2_MAX_POS) #error "DUAL_X_CARRIAGE requires X2_HOME_POS, X2_MIN_POS, and X2_MAX_POS." - #elif X_HOME_TO_MAX || X2_HOME_TO_MIN - #error "DUAL_X_CARRIAGE requires X_HOME_DIR -1 and X2_HOME_DIR 1." + #elif X_HOME_TO_MAX + #error "DUAL_X_CARRIAGE requires X_HOME_DIR 1." #endif #endif @@ -3045,13 +3045,12 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L #error "SENSORLESS_HOMING requires ENDSTOPPULLUP_WMIN (or ENDSTOPPULLUPS) for W MIN homing." #elif W_SENSORLESS && W_HOME_TO_MAX && DISABLED(ENDSTOPPULLUP_WMAX) #error "SENSORLESS_HOMING requires ENDSTOPPULLUP_WMAX (or ENDSTOPPULLUPS) for W MAX homing." - #endif #endif #if ENABLED(SPI_ENDSTOPS) - #if ENABLED(QUICK_HOME) - #warning "SPI_ENDSTOPS may be unreliable with QUICK_HOME. Adjust back-offs for better results." + #if !ANY_AXIS_HAS(SPI) + #error "SPI_ENDSTOPS requires stepper drivers with SPI support." #endif #else // !SPI_ENDSTOPS // Stall detection DIAG = HIGH : TMC2209 @@ -3228,7 +3227,7 @@ static_assert(COUNT(arm) == LOGICAL_AXES, "AXIS_RELATIVE_MODES must contain " _L #error "SENSORLESS_HOMING requires a TMC stepper driver with StallGuard on X, Y, Z, I, J, K, U, V, or W axes." #endif -#endif +#endif // SENSORLESS_HOMING // Sensorless probing requirements #if ENABLED(SENSORLESS_PROBING) diff --git a/Marlin/src/inc/Warnings.cpp b/Marlin/src/inc/Warnings.cpp index ca72ddc3dca6..cf75f3dd28a8 100644 --- a/Marlin/src/inc/Warnings.cpp +++ b/Marlin/src/inc/Warnings.cpp @@ -668,6 +668,10 @@ #endif #endif +#if ENABLED(QUICK_HOME) && (X_SPI_SENSORLESS || Y_SPI_SENSORLESS) + #warning "SPI_ENDSTOPS may be unreliable with QUICK_HOME. Adjust back-offs for better results." +#endif + #if CANNOT_EMBED_CONFIGURATION #warning "Disabled CONFIGURATION_EMBEDDING because the target usually has less flash storage. Define FORCE_CONFIG_EMBED to override." #endif diff --git a/Marlin/src/lcd/e3v2/proui/endstop_diag.cpp b/Marlin/src/lcd/e3v2/proui/endstop_diag.cpp index 055f26c05830..7ec088e240c4 100644 --- a/Marlin/src/lcd/e3v2/proui/endstop_diag.cpp +++ b/Marlin/src/lcd/e3v2/proui/endstop_diag.cpp @@ -72,9 +72,9 @@ void ESDiagClass::Draw() { DWINUI::Draw_Button(BTN_Continue, 86, 250); DWINUI::cursor.y = 80; #define ES_LABEL(S) draw_es_label(F(STR_##S)) - TERN_(HAS_X_MIN, ES_LABEL(X_MIN)); TERN_(HAS_X_MAX, ES_LABEL(X_MAX)); - TERN_(HAS_Y_MIN, ES_LABEL(Y_MIN)); TERN_(HAS_Y_MAX, ES_LABEL(Y_MAX)); - TERN_(HAS_Z_MIN_PIN, ES_LABEL(Z_MIN)); TERN_(HAS_Z_MAX, ES_LABEL(Z_MAX)); + TERN_(USE_X_MIN, ES_LABEL(X_MIN)); TERN_(USE_X_MAX, ES_LABEL(X_MAX)); + TERN_(USE_Y_MIN, ES_LABEL(Y_MIN)); TERN_(USE_Y_MAX, ES_LABEL(Y_MAX)); + TERN_(HAS_Z_MIN_PIN, ES_LABEL(Z_MIN)); TERN_(USE_Z_MAX, ES_LABEL(Z_MAX)); TERN_(HAS_FILAMENT_SENSOR, draw_es_label(F(STR_FILAMENT))); Update(); } @@ -82,9 +82,9 @@ void ESDiagClass::Draw() { void ESDiagClass::Update() { DWINUI::cursor.y = 80; #define ES_REPORT(S) draw_es_state(READ(S##_PIN) == S##_ENDSTOP_HIT_STATE) - TERN_(HAS_X_MIN, ES_REPORT(X_MIN)); TERN_(HAS_X_MAX, ES_REPORT(X_MAX)); - TERN_(HAS_Y_MIN, ES_REPORT(Y_MIN)); TERN_(HAS_Y_MAX, ES_REPORT(Y_MAX)); - TERN_(HAS_Z_MIN_PIN, ES_REPORT(Z_MIN)); TERN_(HAS_Z_MAX, ES_REPORT(Z_MAX)); + TERN_(USE_X_MIN, ES_REPORT(X_MIN)); TERN_(USE_X_MAX, ES_REPORT(X_MAX)); + TERN_(USE_Y_MIN, ES_REPORT(Y_MIN)); TERN_(USE_Y_MAX, ES_REPORT(Y_MAX)); + TERN_(HAS_Z_MIN_PIN, ES_REPORT(Z_MIN)); TERN_(USE_Z_MAX, ES_REPORT(Z_MAX)); TERN_(HAS_FILAMENT_SENSOR, draw_es_state(READ(FIL_RUNOUT1_PIN) != FIL_RUNOUT1_STATE)); DWIN_UpdateLCD(); } diff --git a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/generic/endstop_state_screen.cpp b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/generic/endstop_state_screen.cpp index 46d4998591ae..eae83d070d48 100644 --- a/Marlin/src/lcd/extui/ftdi_eve_touch_ui/generic/endstop_state_screen.cpp +++ b/Marlin/src/lcd/extui/ftdi_eve_touch_ui/generic/endstop_state_screen.cpp @@ -54,27 +54,27 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) { cmd.font(TERN(TOUCH_UI_PORTRAIT, font_large, font_medium)) .text(BTN_POS(1,1), BTN_SIZE(6,1), GET_TEXT_F(MSG_LCD_ENDSTOPS)) .font(font_tiny); - #if HAS_X_MAX + #if USE_X_MAX PIN_ENABLED (1, 2, PSTR(STR_X_MAX), X_MAX, X_MAX_ENDSTOP_HIT_STATE) #else PIN_DISABLED(1, 2, PSTR(STR_X_MAX), X_MAX) #endif - #if HAS_Y_MAX + #if USE_Y_MAX PIN_ENABLED (3, 2, PSTR(STR_Y_MAX), Y_MAX, Y_MAX_ENDSTOP_HIT_STATE) #else PIN_DISABLED(3, 2, PSTR(STR_Y_MAX), Y_MAX) #endif - #if HAS_Z_MAX + #if USE_Z_MAX PIN_ENABLED (5, 2, PSTR(STR_Z_MAX), Z_MAX, Z_MAX_ENDSTOP_HIT_STATE) #else PIN_DISABLED(5, 2, PSTR(STR_Z_MAX), Z_MAX) #endif - #if HAS_X_MIN + #if USE_X_MIN PIN_ENABLED (1, 3, PSTR(STR_X_MIN), X_MIN, X_MIN_ENDSTOP_HIT_STATE) #else PIN_DISABLED(1, 3, PSTR(STR_X_MIN), X_MIN) #endif - #if HAS_Y_MIN + #if USE_Y_MIN PIN_ENABLED (3, 3, PSTR(STR_Y_MIN), Y_MIN, Y_MIN_ENDSTOP_HIT_STATE) #else PIN_DISABLED(3, 3, PSTR(STR_Y_MIN), Y_MIN) diff --git a/Marlin/src/lcd/extui/mks_ui/mks_hardware.cpp b/Marlin/src/lcd/extui/mks_ui/mks_hardware.cpp index 20f069aa49da..e021771b1325 100644 --- a/Marlin/src/lcd/extui/mks_ui/mks_hardware.cpp +++ b/Marlin/src/lcd/extui/mks_ui/mks_hardware.cpp @@ -87,12 +87,12 @@ #if PIN_EXISTS(MT_DET_2) mt_det2_sta = (READ(MT_DET_2_PIN) == LOW); #endif - TERN_(HAS_X_ENDSTOP, endstopx1_sta = ESTATE(TERN(HAS_X_MIN, X_MIN, X_MAX))); - TERN_(HAS_X2_ENDSTOP, endstopx2_sta = ESTATE(TERN(HAS_X2_MIN, X2_MIN, X2_MAX))); - TERN_(HAS_Y_ENDSTOP, endstopy1_sta = ESTATE(TERN(HAS_Y_MIN, Y_MIN, Y_MAX))); - TERN_(HAS_Y2_ENDSTOP, endstopy2_sta = ESTATE(TERN(HAS_Y2_MIN, Y2_MIN, Y2_MAX))); + TERN_(HAS_X_ENDSTOP, endstopx1_sta = ESTATE(TERN(USE_X_MIN, X_MIN, X_MAX))); + TERN_(HAS_X2_ENDSTOP, endstopx2_sta = ESTATE(TERN(USE_X2_MIN, X2_MIN, X2_MAX))); + TERN_(HAS_Y_ENDSTOP, endstopy1_sta = ESTATE(TERN(USE_Y_MIN, Y_MIN, Y_MAX))); + TERN_(HAS_Y2_ENDSTOP, endstopy2_sta = ESTATE(TERN(USE_Y2_MIN, Y2_MIN, Y2_MAX))); TERN_(HAS_Z_ENDSTOP, endstopz1_sta = ESTATE(TERN(HAS_Z_MIN_PIN, Z_MIN, Z_MAX))); - TERN_(HAS_Z2_ENDSTOP, endstopz2_sta = ESTATE(TERN(HAS_Z2_MIN, Z2_MIN, Z2_MAX))); + TERN_(HAS_Z2_ENDSTOP, endstopz2_sta = ESTATE(TERN(USE_Z2_MIN, Z2_MIN, Z2_MAX))); } void test_gpio_readlevel_H() { @@ -104,12 +104,12 @@ #if PIN_EXISTS(MT_DET_2) mt_det2_sta = (READ(MT_DET_2_PIN) == HIGH); #endif - TERN_(HAS_X_ENDSTOP, endstopx1_sta = !ESTATE(TERN(HAS_X_MIN, X_MIN, X_MAX))); - TERN_(HAS_X2_ENDSTOP, endstopx2_sta = !ESTATE(TERN(HAS_X2_MIN, X2_MIN, X2_MAX))); - TERN_(HAS_Y_ENDSTOP, endstopy1_sta = !ESTATE(TERN(HAS_Y_MIN, Y_MIN, Y_MAX))); - TERN_(HAS_Y2_ENDSTOP, endstopy2_sta = !ESTATE(TERN(HAS_Y2_MIN, Y2_MIN, Y2_MAX))); + TERN_(HAS_X_ENDSTOP, endstopx1_sta = !ESTATE(TERN(USE_X_MIN, X_MIN, X_MAX))); + TERN_(HAS_X2_ENDSTOP, endstopx2_sta = !ESTATE(TERN(USE_X2_MIN, X2_MIN, X2_MAX))); + TERN_(HAS_Y_ENDSTOP, endstopy1_sta = !ESTATE(TERN(USE_Y_MIN, Y_MIN, Y_MAX))); + TERN_(HAS_Y2_ENDSTOP, endstopy2_sta = !ESTATE(TERN(USE_Y2_MIN, Y2_MIN, Y2_MAX))); TERN_(HAS_Z_ENDSTOP, endstopz1_sta = !ESTATE(TERN(HAS_Z_MIN_PIN, Z_MIN, Z_MAX))); - TERN_(HAS_Z2_ENDSTOP, endstopz2_sta = !ESTATE(TERN(HAS_Z2_MIN, Z2_MIN, Z2_MAX))); + TERN_(HAS_Z2_ENDSTOP, endstopz2_sta = !ESTATE(TERN(USE_Z2_MIN, Z2_MIN, Z2_MAX))); } #include "../../../libs/buzzer.h" diff --git a/Marlin/src/lcd/extui/nextion/nextion_tft.cpp b/Marlin/src/lcd/extui/nextion/nextion_tft.cpp index 8b7b36e9ce52..788be5ac651b 100644 --- a/Marlin/src/lcd/extui/nextion/nextion_tft.cpp +++ b/Marlin/src/lcd/extui/nextion/nextion_tft.cpp @@ -445,9 +445,9 @@ void NextionTFT::PanelInfo(uint8_t req) { #elif Z_HOME_TO_MAX SEND_VALasTXT("z2", READ(Z_MAX_PIN) == Z_MAX_ENDSTOP_HIT_STATE ? "triggered" : "open"); #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN SEND_VALasTXT("z2", READ(Z2_MIN_PIN) == Z2_MIN_ENDSTOP_HIT_STATE ? "triggered" : "open"); - #elif HAS_Z2_MAX + #elif USE_Z2_MAX SEND_VALasTXT("z2", READ(Z2_MAX_PIN) == Z2_MAX_ENDSTOP_HIT_STATE ? "triggered" : "open"); #endif #if HAS_BED_PROBE diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp index 668be5f1f4b1..ebe0a64bac79 100644 --- a/Marlin/src/module/endstops.cpp +++ b/Marlin/src/module/endstops.cpp @@ -38,7 +38,7 @@ #include HAL_PATH(.., endstop_interrupts.h) #endif -#if BOTH(SD_ABORT_ON_ENDSTOP_HIT, HAS_MEDIA) +#if ENABLED(SD_ABORT_ON_ENDSTOP_HIT) #include "printcounter.h" // for print_job_timer #endif @@ -110,88 +110,88 @@ Endstops::endstop_mask_t Endstops::live_state = 0; void Endstops::init() { #define _INIT_ENDSTOP(T,A,N) TERN(ENDSTOPPULLUP_##A##T, SET_INPUT_PULLUP, TERN(ENDSTOPPULLDOWN_##A##T, SET_INPUT_PULLDOWN, SET_INPUT))(A##N##_##T##_PIN) - #if HAS_X_MIN + #if USE_X_MIN _INIT_ENDSTOP(MIN,X,); #endif - #if HAS_X_MAX + #if USE_X_MAX _INIT_ENDSTOP(MAX,X,); #endif - #if HAS_X2_MIN + #if USE_X2_MIN _INIT_ENDSTOP(MIN,X,2); #endif - #if HAS_X2_MAX + #if USE_X2_MAX _INIT_ENDSTOP(MAX,X,2); #endif - #if HAS_Y_MIN + #if USE_Y_MIN _INIT_ENDSTOP(MIN,Y,); #endif - #if HAS_Y_MAX + #if USE_Y_MAX _INIT_ENDSTOP(MAX,Y,); #endif - #if HAS_Y2_MIN + #if USE_Y2_MIN _INIT_ENDSTOP(MIN,Y,2); #endif - #if HAS_Y2_MAX + #if USE_Y2_MAX _INIT_ENDSTOP(MAX,Y,2); #endif #if HAS_Z_MIN_PIN _INIT_ENDSTOP(MIN,Z,); #endif - #if HAS_Z_MAX + #if USE_Z_MAX _INIT_ENDSTOP(MAX,Z,); #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN _INIT_ENDSTOP(MIN,Z,2); #endif - #if HAS_Z2_MAX + #if USE_Z2_MAX _INIT_ENDSTOP(MAX,Z,2); #endif - #if HAS_Z3_MIN + #if USE_Z3_MIN _INIT_ENDSTOP(MIN,Z,3); #endif - #if HAS_Z3_MAX + #if USE_Z3_MAX _INIT_ENDSTOP(MAX,Z,3); #endif - #if HAS_Z4_MIN + #if USE_Z4_MIN _INIT_ENDSTOP(MIN,Z,4); #endif - #if HAS_Z4_MAX + #if USE_Z4_MAX _INIT_ENDSTOP(MAX,Z,4); #endif - #if HAS_I_MIN + #if USE_I_MIN _INIT_ENDSTOP(MIN,I,); #endif - #if HAS_I_MAX + #if USE_I_MAX _INIT_ENDSTOP(MAX,I,); #endif - #if HAS_J_MIN + #if USE_J_MIN _INIT_ENDSTOP(MIN,J,); #endif - #if HAS_J_MAX + #if USE_J_MAX _INIT_ENDSTOP(MAX,J,); #endif - #if HAS_K_MIN + #if USE_K_MIN _INIT_ENDSTOP(MIN,K,); #endif - #if HAS_K_MAX + #if USE_K_MAX _INIT_ENDSTOP(MAX,K,); #endif - #if HAS_U_MIN + #if USE_U_MIN _INIT_ENDSTOP(MIN,U,); #endif - #if HAS_U_MAX + #if USE_U_MAX _INIT_ENDSTOP(MAX,U,); #endif - #if HAS_V_MIN + #if USE_V_MIN _INIT_ENDSTOP(MIN,V,); #endif - #if HAS_V_MAX + #if USE_V_MAX _INIT_ENDSTOP(MAX,V,); #endif - #if HAS_W_MIN + #if USE_W_MIN _INIT_ENDSTOP(MIN,W,); #endif - #if HAS_W_MAX + #if USE_W_MAX _INIT_ENDSTOP(MAX,W,); #endif @@ -205,7 +205,7 @@ void Endstops::init() { #endif #endif - #if USES_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE #if ENABLED(ENDSTOPPULLUP_ZMIN_PROBE) SET_INPUT_PULLUP(Z_MIN_PROBE_PIN); #elif ENABLED(ENDSTOPPULLDOWN_ZMIN_PROBE) @@ -338,7 +338,7 @@ void Endstops::event_handler() { _ENDSTOP_HIT_TEST(W,'W') ); - #if USES_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE #define P_AXIS Z_AXIS if (TEST(hit_state, Z_MIN_PROBE)) _ENDSTOP_HIT_ECHO(P, 'P'); #endif @@ -352,7 +352,7 @@ void Endstops::event_handler() { ) ); - #if BOTH(SD_ABORT_ON_ENDSTOP_HIT, HAS_MEDIA) + #if ENABLED(SD_ABORT_ON_ENDSTOP_HIT) if (planner.abort_on_endstop_hit) { card.abortFilePrintNow(); quickstop_stepper(); @@ -384,94 +384,94 @@ void __O2 Endstops::report_states() { TERN_(BLTOUCH, bltouch._set_SW_mode()); SERIAL_ECHOLNPGM(STR_M119_REPORT); #define ES_REPORT(S) print_es_state(READ_ENDSTOP(S##_PIN) == S##_ENDSTOP_HIT_STATE, F(STR_##S)) - #if HAS_X_MIN + #if USE_X_MIN ES_REPORT(X_MIN); #endif - #if HAS_X2_MIN + #if USE_X2_MIN ES_REPORT(X2_MIN); #endif - #if HAS_X_MAX + #if USE_X_MAX ES_REPORT(X_MAX); #endif - #if HAS_X2_MAX + #if USE_X2_MAX ES_REPORT(X2_MAX); #endif - #if HAS_Y_MIN + #if USE_Y_MIN ES_REPORT(Y_MIN); #endif - #if HAS_Y2_MIN + #if USE_Y2_MIN ES_REPORT(Y2_MIN); #endif - #if HAS_Y_MAX + #if USE_Y_MAX ES_REPORT(Y_MAX); #endif - #if HAS_Y2_MAX + #if USE_Y2_MAX ES_REPORT(Y2_MAX); #endif - #if HAS_Z_MIN + #if USE_Z_MIN ES_REPORT(Z_MIN); #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN ES_REPORT(Z2_MIN); #endif - #if HAS_Z3_MIN + #if USE_Z3_MIN ES_REPORT(Z3_MIN); #endif - #if HAS_Z4_MIN + #if USE_Z4_MIN ES_REPORT(Z4_MIN); #endif - #if HAS_Z_MAX + #if USE_Z_MAX ES_REPORT(Z_MAX); #endif - #if HAS_Z2_MAX + #if USE_Z2_MAX ES_REPORT(Z2_MAX); #endif - #if HAS_Z3_MAX + #if USE_Z3_MAX ES_REPORT(Z3_MAX); #endif - #if HAS_Z4_MAX + #if USE_Z4_MAX ES_REPORT(Z4_MAX); #endif - #if HAS_I_MIN + #if USE_I_MIN ES_REPORT(I_MIN); #endif - #if HAS_I_MAX + #if USE_I_MAX ES_REPORT(I_MAX); #endif - #if HAS_J_MIN + #if USE_J_MIN ES_REPORT(J_MIN); #endif - #if HAS_J_MAX + #if USE_J_MAX ES_REPORT(J_MAX); #endif - #if HAS_K_MIN + #if USE_K_MIN ES_REPORT(K_MIN); #endif - #if HAS_K_MAX + #if USE_K_MAX ES_REPORT(K_MAX); #endif - #if HAS_U_MIN + #if USE_U_MIN ES_REPORT(U_MIN); #endif - #if HAS_U_MAX + #if USE_U_MAX ES_REPORT(U_MAX); #endif - #if HAS_V_MIN + #if USE_V_MIN ES_REPORT(V_MIN); #endif - #if HAS_V_MAX + #if USE_V_MAX ES_REPORT(V_MAX); #endif - #if HAS_W_MIN + #if USE_W_MIN ES_REPORT(W_MIN); #endif - #if HAS_W_MAX + #if USE_W_MAX ES_REPORT(W_MAX); #endif #if ENABLED(PROBE_ACTIVATION_SWITCH) print_es_state(probe_switch_activated(), F(STR_PROBE_EN)); #endif - #if USES_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE print_es_state(PROBE_TRIGGERED(), F(STR_Z_PROBE)); #endif #if MULTI_FILAMENT_SENSOR @@ -519,12 +519,12 @@ void Endstops::update() { #if ENABLED(G38_PROBE_TARGET) // For G38 moves check the probe's pin for ALL movement - if (G38_move) UPDATE_LIVE_STATE(Z, TERN(USES_Z_MIN_PROBE_PIN, MIN_PROBE, MIN)); + if (G38_move) UPDATE_LIVE_STATE(Z, TERN(USE_Z_MIN_PROBE, MIN_PROBE, MIN)); #endif // With Dual X, endstops are only checked in the homing direction for the active extruder - #define X_MIN_TEST() TERN1(DUAL_X_CARRIAGE, TERN0(X_HOME_TO_MIN, stepper.last_moved_extruder == 0) || TERN0(X2_HOME_TO_MIN, stepper.last_moved_extruder != 0)) - #define X_MAX_TEST() TERN1(DUAL_X_CARRIAGE, TERN0(X_HOME_TO_MAX, stepper.last_moved_extruder == 0) || TERN0(X2_HOME_TO_MAX, stepper.last_moved_extruder != 0)) + #define X_MIN_TEST() TERN1(DUAL_X_CARRIAGE, stepper.last_moved_extruder == 0) // Check min for the left carriage + #define X_MAX_TEST() TERN1(DUAL_X_CARRIAGE, stepper.last_moved_extruder != 0) // Check max for the right carriage // Use HEAD for core axes, AXIS for others #if ANY(CORE_IS_XY, CORE_IS_XZ, MARKFORGED_XY, MARKFORGED_YX) @@ -553,10 +553,10 @@ void Endstops::update() { /** * Check and update endstops */ - #if HAS_X_MIN && !X_SPI_SENSORLESS + #if USE_X_MIN && !X_SPI_SENSORLESS UPDATE_LIVE_STATE(X, MIN); #if ENABLED(X_DUAL_ENDSTOPS) - #if HAS_X2_MIN + #if USE_X2_MIN UPDATE_LIVE_STATE(X2, MIN); #else COPY_LIVE_STATE(X_MIN, X2_MIN); @@ -564,10 +564,10 @@ void Endstops::update() { #endif #endif - #if HAS_X_MAX && !X_SPI_SENSORLESS + #if USE_X_MAX && !X_SPI_SENSORLESS UPDATE_LIVE_STATE(X, MAX); #if ENABLED(X_DUAL_ENDSTOPS) - #if HAS_X2_MAX + #if USE_X2_MAX UPDATE_LIVE_STATE(X2, MAX); #else COPY_LIVE_STATE(X_MAX, X2_MAX); @@ -575,10 +575,10 @@ void Endstops::update() { #endif #endif - #if HAS_Y_MIN && !Y_SPI_SENSORLESS + #if USE_Y_MIN && !Y_SPI_SENSORLESS UPDATE_LIVE_STATE(Y, MIN); #if ENABLED(Y_DUAL_ENDSTOPS) - #if HAS_Y2_MIN + #if USE_Y2_MIN UPDATE_LIVE_STATE(Y2, MIN); #else COPY_LIVE_STATE(Y_MIN, Y2_MIN); @@ -586,10 +586,10 @@ void Endstops::update() { #endif #endif - #if HAS_Y_MAX && !Y_SPI_SENSORLESS + #if USE_Y_MAX && !Y_SPI_SENSORLESS UPDATE_LIVE_STATE(Y, MAX); #if ENABLED(Y_DUAL_ENDSTOPS) - #if HAS_Y2_MAX + #if USE_Y2_MAX UPDATE_LIVE_STATE(Y2, MAX); #else COPY_LIVE_STATE(Y_MAX, Y2_MAX); @@ -597,25 +597,25 @@ void Endstops::update() { #endif #endif - #if HAS_Z_MIN && NONE(Z_SPI_SENSORLESS, Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) + #if USE_Z_MIN && NONE(Z_SPI_SENSORLESS, Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) #if HAS_Z_MIN_PIN UPDATE_LIVE_STATE(Z, MIN); #endif #if ENABLED(Z_MULTI_ENDSTOPS) - #if HAS_Z2_MIN + #if USE_Z2_MIN UPDATE_LIVE_STATE(Z2, MIN); #else COPY_LIVE_STATE(Z_MIN, Z2_MIN); #endif #if NUM_Z_STEPPERS >= 3 - #if HAS_Z3_MIN + #if USE_Z3_MIN UPDATE_LIVE_STATE(Z3, MIN); #else COPY_LIVE_STATE(Z_MIN, Z3_MIN); #endif #endif #if NUM_Z_STEPPERS >= 4 - #if HAS_Z4_MIN + #if USE_Z4_MIN UPDATE_LIVE_STATE(Z4, MIN); #else COPY_LIVE_STATE(Z_MIN, Z4_MIN); @@ -627,39 +627,39 @@ void Endstops::update() { #if HAS_BED_PROBE // When closing the gap check the enabled probe if (probe_switch_activated()) - UPDATE_LIVE_STATE(Z, TERN(USES_Z_MIN_PROBE_PIN, MIN_PROBE, MIN)); + UPDATE_LIVE_STATE(Z, TERN(USE_Z_MIN_PROBE, MIN_PROBE, MIN)); #endif - #if HAS_Z_MAX && !Z_SPI_SENSORLESS + #if USE_Z_MAX && !Z_SPI_SENSORLESS // Check both Z dual endstops #if ENABLED(Z_MULTI_ENDSTOPS) UPDATE_LIVE_STATE(Z, MAX); - #if HAS_Z2_MAX + #if USE_Z2_MAX UPDATE_LIVE_STATE(Z2, MAX); #else COPY_LIVE_STATE(Z_MAX, Z2_MAX); #endif #if NUM_Z_STEPPERS >= 3 - #if HAS_Z3_MAX + #if USE_Z3_MAX UPDATE_LIVE_STATE(Z3, MAX); #else COPY_LIVE_STATE(Z_MAX, Z3_MAX); #endif #endif #if NUM_Z_STEPPERS >= 4 - #if HAS_Z4_MAX + #if USE_Z4_MAX UPDATE_LIVE_STATE(Z4, MAX); #else COPY_LIVE_STATE(Z_MAX, Z4_MAX); #endif #endif - #elif TERN1(USES_Z_MIN_PROBE_PIN, Z_MAX_PIN != Z_MIN_PROBE_PIN) + #elif TERN1(USE_Z_MIN_PROBE, Z_MAX_PIN != Z_MIN_PROBE_PIN) // If this pin isn't the bed probe it's the Z endstop UPDATE_LIVE_STATE(Z, MAX); #endif #endif - #if HAS_I_MIN && !I_SPI_SENSORLESS + #if USE_I_MIN && !I_SPI_SENSORLESS #if ENABLED(I_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(I, MIN); #else @@ -667,7 +667,7 @@ void Endstops::update() { #endif #endif - #if HAS_I_MAX && !I_SPI_SENSORLESS + #if USE_I_MAX && !I_SPI_SENSORLESS #if ENABLED(I_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(I, MAX); #else @@ -675,7 +675,7 @@ void Endstops::update() { #endif #endif - #if HAS_J_MIN && !J_SPI_SENSORLESS + #if USE_J_MIN && !J_SPI_SENSORLESS #if ENABLED(J_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(J, MIN); #else @@ -683,7 +683,7 @@ void Endstops::update() { #endif #endif - #if HAS_J_MAX && !J_SPI_SENSORLESS + #if USE_J_MAX && !J_SPI_SENSORLESS #if ENABLED(J_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(J, MAX); #else @@ -691,7 +691,7 @@ void Endstops::update() { #endif #endif - #if HAS_K_MIN && !K_SPI_SENSORLESS + #if USE_K_MIN && !K_SPI_SENSORLESS #if ENABLED(K_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(K, MIN); #else @@ -699,7 +699,7 @@ void Endstops::update() { #endif #endif - #if HAS_K_MAX && !K_SPI_SENSORLESS + #if USE_K_MAX && !K_SPI_SENSORLESS #if ENABLED(K_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(K, MAX); #else @@ -707,7 +707,7 @@ void Endstops::update() { #endif #endif - #if HAS_U_MIN && !U_SPI_SENSORLESS + #if USE_U_MIN && !U_SPI_SENSORLESS #if ENABLED(U_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(U, MIN); #else @@ -715,7 +715,7 @@ void Endstops::update() { #endif #endif - #if HAS_U_MAX && !U_SPI_SENSORLESS + #if USE_U_MAX && !U_SPI_SENSORLESS #if ENABLED(U_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(U, MAX); #else @@ -723,14 +723,14 @@ void Endstops::update() { #endif #endif - #if HAS_V_MIN && !V_SPI_SENSORLESS + #if USE_V_MIN && !V_SPI_SENSORLESS #if ENABLED(V_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(V, MIN); #else UPDATE_LIVE_STATE(V, MIN); #endif #endif - #if HAS_V_MAX && !V_SPI_SENSORLESS + #if USE_V_MAX && !V_SPI_SENSORLESS #if ENABLED(O_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(V, MAX); #else @@ -738,14 +738,14 @@ void Endstops::update() { #endif #endif - #if HAS_W_MIN && !W_SPI_SENSORLESS + #if USE_W_MIN && !W_SPI_SENSORLESS #if ENABLED(W_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(W, MIN); #else UPDATE_LIVE_STATE(W, MIN); #endif #endif - #if HAS_W_MAX && !W_SPI_SENSORLESS + #if USE_W_MAX && !W_SPI_SENSORLESS #if ENABLED(W_DUAL_ENDSTOPS) UPDATE_LIVE_STATE(W, MAX); #else @@ -902,7 +902,7 @@ void Endstops::update() { #if HAS_Y_AXIS if (stepper.axis_is_moving(Y_AXIS)) { if (stepper.motor_direction(Y_AXIS_HEAD)) { // -direction - #if HAS_Y_MIN || (Y_SPI_SENSORLESS && Y_HOME_TO_MIN) + #if USE_Y_MIN || (Y_SPI_SENSORLESS && Y_HOME_TO_MIN) PROCESS_ENDSTOP_Y(MIN); #if CORE_DIAG(XY, X, MIN) PROCESS_CORE_ENDSTOP(X,MIN,Y,MIN); @@ -916,7 +916,7 @@ void Endstops::update() { #endif } else { // +direction - #if HAS_Y_MAX || (Y_SPI_SENSORLESS && Y_HOME_TO_MAX) + #if USE_Y_MAX || (Y_SPI_SENSORLESS && Y_HOME_TO_MAX) PROCESS_ENDSTOP_Y(MAX); #if CORE_DIAG(XY, X, MIN) PROCESS_CORE_ENDSTOP(X,MIN,Y,MAX); @@ -936,9 +936,9 @@ void Endstops::update() { if (stepper.axis_is_moving(Z_AXIS)) { if (stepper.motor_direction(Z_AXIS_HEAD)) { // Z -direction. Gantry down, bed up. - #if HAS_Z_MIN || (Z_SPI_SENSORLESS && Z_HOME_TO_MIN) + #if USE_Z_MIN || (Z_SPI_SENSORLESS && Z_HOME_TO_MIN) if ( TERN1(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, z_probe_enabled) - && TERN1(USES_Z_MIN_PROBE_PIN, !z_probe_enabled) + && TERN1(USE_Z_MIN_PROBE, !z_probe_enabled) ) PROCESS_ENDSTOP_Z(MIN); #if CORE_DIAG(XZ, X, MIN) PROCESS_CORE_ENDSTOP(X,MIN,Z,MIN); @@ -952,15 +952,15 @@ void Endstops::update() { #endif // When closing the gap check the enabled probe - #if USES_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE if (z_probe_enabled) PROCESS_ENDSTOP(Z, MIN_PROBE); #endif } else { // Z +direction. Gantry up, bed down. - #if HAS_Z_MAX || (Z_SPI_SENSORLESS && Z_HOME_TO_MAX) + #if USE_Z_MAX || (Z_SPI_SENSORLESS && Z_HOME_TO_MAX) #if ENABLED(Z_MULTI_ENDSTOPS) PROCESS_ENDSTOP_Z(MAX); - #elif TERN1(USES_Z_MIN_PROBE_PIN, Z_MAX_PIN != Z_MIN_PROBE_PIN) // No probe or probe is Z_MIN || Probe is not Z_MAX + #elif TERN1(USE_Z_MIN_PROBE, Z_MAX_PIN != Z_MIN_PROBE_PIN) // No probe or probe is Z_MIN || Probe is not Z_MAX PROCESS_ENDSTOP(Z, MAX); #endif #if CORE_DIAG(XZ, X, MIN) @@ -980,12 +980,12 @@ void Endstops::update() { #if HAS_I_AXIS if (stepper.axis_is_moving(I_AXIS)) { if (stepper.motor_direction(I_AXIS_HEAD)) { // -direction - #if HAS_I_MIN || (I_SPI_SENSORLESS && I_HOME_TO_MIN) + #if USE_I_MIN || (I_SPI_SENSORLESS && I_HOME_TO_MIN) PROCESS_ENDSTOP(I, MIN); #endif } else { // +direction - #if HAS_I_MAX || (I_SPI_SENSORLESS && I_HOME_TO_MAX) + #if USE_I_MAX || (I_SPI_SENSORLESS && I_HOME_TO_MAX) PROCESS_ENDSTOP(I, MAX); #endif } @@ -995,12 +995,12 @@ void Endstops::update() { #if HAS_J_AXIS if (stepper.axis_is_moving(J_AXIS)) { if (stepper.motor_direction(J_AXIS_HEAD)) { // -direction - #if HAS_J_MIN || (J_SPI_SENSORLESS && J_HOME_TO_MIN) + #if USE_J_MIN || (J_SPI_SENSORLESS && J_HOME_TO_MIN) PROCESS_ENDSTOP(J, MIN); #endif } else { // +direction - #if HAS_J_MAX || (J_SPI_SENSORLESS && J_HOME_TO_MAX) + #if USE_J_MAX || (J_SPI_SENSORLESS && J_HOME_TO_MAX) PROCESS_ENDSTOP(J, MAX); #endif } @@ -1010,12 +1010,12 @@ void Endstops::update() { #if HAS_K_AXIS if (stepper.axis_is_moving(K_AXIS)) { if (stepper.motor_direction(K_AXIS_HEAD)) { // -direction - #if HAS_K_MIN || (K_SPI_SENSORLESS && K_HOME_TO_MIN) + #if USE_K_MIN || (K_SPI_SENSORLESS && K_HOME_TO_MIN) PROCESS_ENDSTOP(K, MIN); #endif } else { // +direction - #if HAS_K_MAX || (K_SPI_SENSORLESS && K_HOME_TO_MAX) + #if USE_K_MAX || (K_SPI_SENSORLESS && K_HOME_TO_MAX) PROCESS_ENDSTOP(K, MAX); #endif } @@ -1025,12 +1025,12 @@ void Endstops::update() { #if HAS_U_AXIS if (stepper.axis_is_moving(U_AXIS)) { if (stepper.motor_direction(U_AXIS_HEAD)) { // -direction - #if HAS_U_MIN || (U_SPI_SENSORLESS && U_HOME_TO_MIN) + #if USE_U_MIN || (U_SPI_SENSORLESS && U_HOME_TO_MIN) PROCESS_ENDSTOP(U, MIN); #endif } else { // +direction - #if HAS_U_MAX || (U_SPI_SENSORLESS && U_HOME_TO_MAX) + #if USE_U_MAX || (U_SPI_SENSORLESS && U_HOME_TO_MAX) PROCESS_ENDSTOP(U, MAX); #endif } @@ -1040,12 +1040,12 @@ void Endstops::update() { #if HAS_V_AXIS if (stepper.axis_is_moving(V_AXIS)) { if (stepper.motor_direction(V_AXIS_HEAD)) { // -direction - #if HAS_V_MIN || (V_SPI_SENSORLESS && V_HOME_TO_MIN) + #if USE_V_MIN || (V_SPI_SENSORLESS && V_HOME_TO_MIN) PROCESS_ENDSTOP(V, MIN); #endif } else { // +direction - #if HAS_V_MAX || (V_SPI_SENSORLESS && V_HOME_TO_MAX) + #if USE_V_MAX || (V_SPI_SENSORLESS && V_HOME_TO_MAX) PROCESS_ENDSTOP(V, MAX); #endif } @@ -1055,12 +1055,12 @@ void Endstops::update() { #if HAS_W_AXIS if (stepper.axis_is_moving(W_AXIS)) { if (stepper.motor_direction(W_AXIS_HEAD)) { // -direction - #if HAS_W_MIN || (W_SPI_SENSORLESS && W_HOME_TO_MIN) + #if USE_W_MIN || (W_SPI_SENSORLESS && W_HOME_TO_MIN) PROCESS_ENDSTOP(W, MIN); #endif } else { // +direction - #if HAS_W_MAX || (W_SPI_SENSORLESS && W_HOME_TO_MAX) + #if USE_W_MAX || (W_SPI_SENSORLESS && W_HOME_TO_MAX) PROCESS_ENDSTOP(W, MAX); #endif } @@ -1171,91 +1171,91 @@ void Endstops::update() { #define ES_GET_STATE(S) if (READ_ENDSTOP(S##_PIN)) SBI(live_state_local, S) - #if HAS_X_MIN + #if USE_X_MIN ES_GET_STATE(X_MIN); #endif - #if HAS_X_MAX + #if USE_X_MAX ES_GET_STATE(X_MAX); #endif - #if HAS_Y_MIN + #if USE_Y_MIN ES_GET_STATE(Y_MIN); #endif - #if HAS_Y_MAX + #if USE_Y_MAX ES_GET_STATE(Y_MAX); #endif #if HAS_Z_MIN_PIN ES_GET_STATE(Z_MIN); #endif - #if HAS_Z_MAX + #if USE_Z_MAX ES_GET_STATE(Z_MAX); #endif - #if HAS_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE ES_GET_STATE(Z_MIN_PROBE); #endif - #if HAS_X2_MIN + #if USE_X2_MIN ES_GET_STATE(X2_MIN); #endif - #if HAS_X2_MAX + #if USE_X2_MAX ES_GET_STATE(X2_MAX); #endif - #if HAS_Y2_MIN + #if USE_Y2_MIN ES_GET_STATE(Y2_MIN); #endif - #if HAS_Y2_MAX + #if USE_Y2_MAX ES_GET_STATE(Y2_MAX); #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN ES_GET_STATE(Z2_MIN); #endif - #if HAS_Z2_MAX + #if USE_Z2_MAX ES_GET_STATE(Z2_MAX); #endif - #if HAS_Z3_MIN + #if USE_Z3_MIN ES_GET_STATE(Z3_MIN); #endif - #if HAS_Z3_MAX + #if USE_Z3_MAX ES_GET_STATE(Z3_MAX); #endif - #if HAS_Z4_MIN + #if USE_Z4_MIN ES_GET_STATE(Z4_MIN); #endif - #if HAS_Z4_MAX + #if USE_Z4_MAX ES_GET_STATE(Z4_MAX); #endif - #if HAS_I_MAX + #if USE_I_MAX ES_GET_STATE(I_MAX); #endif - #if HAS_I_MIN + #if USE_I_MIN ES_GET_STATE(I_MIN); #endif - #if HAS_J_MAX + #if USE_J_MAX ES_GET_STATE(J_MAX); #endif - #if HAS_J_MIN + #if USE_J_MIN ES_GET_STATE(J_MIN); #endif - #if HAS_K_MAX + #if USE_K_MAX ES_GET_STATE(K_MAX); #endif - #if HAS_K_MIN + #if USE_K_MIN ES_GET_STATE(K_MIN); #endif - #if HAS_U_MAX + #if USE_U_MAX ES_GET_STATE(U_MAX); #endif - #if HAS_U_MIN + #if USE_U_MIN ES_GET_STATE(U_MIN); #endif - #if HAS_V_MAX + #if USE_V_MAX ES_GET_STATE(V_MAX); #endif - #if HAS_V_MIN + #if USE_V_MIN ES_GET_STATE(V_MIN); #endif - #if HAS_W_MAX + #if USE_W_MAX ES_GET_STATE(W_MAX); #endif - #if HAS_W_MIN + #if USE_W_MIN ES_GET_STATE(W_MIN); #endif @@ -1263,91 +1263,91 @@ void Endstops::update() { #define ES_REPORT_CHANGE(S) if (TEST(endstop_change, S)) SERIAL_ECHOPGM(" " STRINGIFY(S) ":", TEST(live_state_local, S)) if (endstop_change) { - #if HAS_X_MIN + #if USE_X_MIN ES_REPORT_CHANGE(X_MIN); #endif - #if HAS_X_MAX + #if USE_X_MAX ES_REPORT_CHANGE(X_MAX); #endif - #if HAS_Y_MIN + #if USE_Y_MIN ES_REPORT_CHANGE(Y_MIN); #endif - #if HAS_Y_MAX + #if USE_Y_MAX ES_REPORT_CHANGE(Y_MAX); #endif - #if HAS_Z_MIN + #if USE_Z_MIN ES_REPORT_CHANGE(Z_MIN); #endif - #if HAS_Z_MAX + #if USE_Z_MAX ES_REPORT_CHANGE(Z_MAX); #endif - #if HAS_Z_MIN_PROBE_PIN + #if USE_Z_MIN_PROBE ES_REPORT_CHANGE(Z_MIN_PROBE); #endif - #if HAS_X2_MIN + #if USE_X2_MIN ES_REPORT_CHANGE(X2_MIN); #endif - #if HAS_X2_MAX + #if USE_X2_MAX ES_REPORT_CHANGE(X2_MAX); #endif - #if HAS_Y2_MIN + #if USE_Y2_MIN ES_REPORT_CHANGE(Y2_MIN); #endif - #if HAS_Y2_MAX + #if USE_Y2_MAX ES_REPORT_CHANGE(Y2_MAX); #endif - #if HAS_Z2_MIN + #if USE_Z2_MIN ES_REPORT_CHANGE(Z2_MIN); #endif - #if HAS_Z2_MAX + #if USE_Z2_MAX ES_REPORT_CHANGE(Z2_MAX); #endif - #if HAS_Z3_MIN + #if USE_Z3_MIN ES_REPORT_CHANGE(Z3_MIN); #endif - #if HAS_Z3_MAX + #if USE_Z3_MAX ES_REPORT_CHANGE(Z3_MAX); #endif - #if HAS_Z4_MIN + #if USE_Z4_MIN ES_REPORT_CHANGE(Z4_MIN); #endif - #if HAS_Z4_MAX + #if USE_Z4_MAX ES_REPORT_CHANGE(Z4_MAX); #endif - #if HAS_I_MIN + #if USE_I_MIN ES_REPORT_CHANGE(I_MIN); #endif - #if HAS_I_MAX + #if USE_I_MAX ES_REPORT_CHANGE(I_MAX); #endif - #if HAS_J_MIN + #if USE_J_MIN ES_REPORT_CHANGE(J_MIN); #endif - #if HAS_J_MAX + #if USE_J_MAX ES_REPORT_CHANGE(J_MAX); #endif - #if HAS_K_MIN + #if USE_K_MIN ES_REPORT_CHANGE(K_MIN); #endif - #if HAS_K_MAX + #if USE_K_MAX ES_REPORT_CHANGE(K_MAX); #endif - #if HAS_U_MIN + #if USE_U_MIN ES_REPORT_CHANGE(U_MIN); #endif - #if HAS_U_MAX + #if USE_U_MAX ES_REPORT_CHANGE(U_MAX); #endif - #if HAS_V_MIN + #if USE_V_MIN ES_REPORT_CHANGE(V_MIN); #endif - #if HAS_V_MAX + #if USE_V_MAX ES_REPORT_CHANGE(V_MAX); #endif - #if HAS_W_MIN + #if USE_W_MIN ES_REPORT_CHANGE(W_MIN); #endif - #if HAS_W_MAX + #if USE_W_MAX ES_REPORT_CHANGE(W_MAX); #endif @@ -1419,6 +1419,6 @@ void Endstops::update() { safe_delay(SENSORLESS_STALLGUARD_DELAY); // Short delay needed to settle #endif - #endif // XYZ + #endif } -#endif +#endif // USE_SENSORLESS diff --git a/Marlin/src/module/endstops.h b/Marlin/src/module/endstops.h index 28917697c431..7b662c27ac83 100644 --- a/Marlin/src/module/endstops.h +++ b/Marlin/src/module/endstops.h @@ -51,36 +51,36 @@ */ enum EndstopEnum : char { // Common XYZ (ABC) endstops. - ES_ITEM(HAS_X_MIN, X_MIN) ES_ITEM(HAS_X_MAX, X_MAX) - ES_ITEM(HAS_Y_MIN, Y_MIN) ES_ITEM(HAS_Y_MAX, Y_MAX) - ES_ITEM(HAS_Z_MIN, Z_MIN) ES_ITEM(HAS_Z_MAX, Z_MAX) - ES_ITEM(HAS_I_MIN, I_MIN) ES_ITEM(HAS_I_MAX, I_MAX) - ES_ITEM(HAS_J_MIN, J_MIN) ES_ITEM(HAS_J_MAX, J_MAX) - ES_ITEM(HAS_K_MIN, K_MIN) ES_ITEM(HAS_K_MAX, K_MAX) - ES_ITEM(HAS_U_MIN, U_MIN) ES_ITEM(HAS_U_MAX, U_MAX) - ES_ITEM(HAS_V_MIN, V_MIN) ES_ITEM(HAS_V_MAX, V_MAX) - ES_ITEM(HAS_W_MIN, W_MIN) ES_ITEM(HAS_W_MAX, W_MAX) + ES_ITEM(USE_X_MIN, X_MIN) ES_ITEM(USE_X_MAX, X_MAX) + ES_ITEM(USE_Y_MIN, Y_MIN) ES_ITEM(USE_Y_MAX, Y_MAX) + ES_ITEM(USE_Z_MIN, Z_MIN) ES_ITEM(USE_Z_MAX, Z_MAX) + ES_ITEM(USE_I_MIN, I_MIN) ES_ITEM(USE_I_MAX, I_MAX) + ES_ITEM(USE_J_MIN, J_MIN) ES_ITEM(USE_J_MAX, J_MAX) + ES_ITEM(USE_K_MIN, K_MIN) ES_ITEM(USE_K_MAX, K_MAX) + ES_ITEM(USE_U_MIN, U_MIN) ES_ITEM(USE_U_MAX, U_MAX) + ES_ITEM(USE_V_MIN, V_MIN) ES_ITEM(USE_V_MAX, V_MAX) + ES_ITEM(USE_W_MIN, W_MIN) ES_ITEM(USE_W_MAX, W_MAX) // Extra Endstops for XYZ #if ENABLED(X_DUAL_ENDSTOPS) - ES_ITEM(HAS_X_MIN, X2_MIN) ES_ITEM(HAS_X_MAX, X2_MAX) + ES_ITEM(USE_X_MIN, X2_MIN) ES_ITEM(USE_X_MAX, X2_MAX) #endif #if ENABLED(Y_DUAL_ENDSTOPS) - ES_ITEM(HAS_Y_MIN, Y2_MIN) ES_ITEM(HAS_Y_MAX, Y2_MAX) + ES_ITEM(USE_Y_MIN, Y2_MIN) ES_ITEM(USE_Y_MAX, Y2_MAX) #endif #if ENABLED(Z_MULTI_ENDSTOPS) - ES_ITEM(HAS_Z_MIN, Z2_MIN) ES_ITEM(HAS_Z_MAX, Z2_MAX) + ES_ITEM(USE_Z_MIN, Z2_MIN) ES_ITEM(USE_Z_MAX, Z2_MAX) #if NUM_Z_STEPPERS >= 3 - ES_ITEM(HAS_Z_MIN, Z3_MIN) ES_ITEM(HAS_Z_MAX, Z3_MAX) + ES_ITEM(USE_Z_MIN, Z3_MIN) ES_ITEM(USE_Z_MAX, Z3_MAX) #if NUM_Z_STEPPERS >= 4 - ES_ITEM(HAS_Z_MIN, Z4_MIN) ES_ITEM(HAS_Z_MAX, Z4_MAX) + ES_ITEM(USE_Z_MIN, Z4_MIN) ES_ITEM(USE_Z_MAX, Z4_MAX) #endif #endif #endif // Bed Probe state is distinct or shared with Z_MIN (i.e., when the probe is the only Z endstop) #if !HAS_DELTA_SENSORLESS_PROBING - ES_ITEM(HAS_BED_PROBE, Z_MIN_PROBE IF_DISABLED(USES_Z_MIN_PROBE_PIN, = Z_MIN)) + ES_ITEM(HAS_BED_PROBE, Z_MIN_PROBE IF_DISABLED(USE_Z_MIN_PROBE, = Z_MIN)) #endif // The total number of states diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index e899815c0f88..394c4748d94a 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -608,7 +608,7 @@ void home_if_needed(const bool keeplev=false); float x_home_pos(const uint8_t extruder); - #define TOOL_X_HOME_DIR(T) ((T) ? X2_HOME_DIR : X_HOME_DIR) + #define TOOL_X_HOME_DIR(T) ((T) ? 1 : -1) void set_duplication_enabled(const bool dupe, const int8_t tool_index=-1); void idex_set_mirrored_mode(const bool mirr); diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index 96606f30a87a..1e01cfd9b616 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -615,7 +615,7 @@ bool Probe::probe_down_to_z(const_float_t z, const_feedRate_t fr_mm_s) { if (test_sensitivity.z) stealth_states.z = tmc_enable_stallguard(stepperZ); // All machines will check Z-DIAG for stall endstops.set_homing_current(true); // The "homing" current also applies to probing endstops.enable(true); - #endif + #endif // SENSORLESS_PROBING TERN_(HAS_QUIET_PROBING, set_probing_paused(true)); @@ -623,13 +623,13 @@ bool Probe::probe_down_to_z(const_float_t z, const_feedRate_t fr_mm_s) { do_blocking_move_to_z(z, fr_mm_s); // Check to see if the probe was triggered - const bool probe_triggered = + const bool probe_triggered = ( #if HAS_DELTA_SENSORLESS_PROBING endstops.trigger_state() & (_BV(X_MAX) | _BV(Y_MAX) | _BV(Z_MAX)) #else TEST(endstops.trigger_state(), Z_MIN_PROBE) #endif - ; + ); // Offset sensorless probing #if HAS_DELTA_SENSORLESS_PROBING diff --git a/Marlin/src/module/probe.h b/Marlin/src/module/probe.h index 715f3f3a7380..eb55ea1b4513 100644 --- a/Marlin/src/module/probe.h +++ b/Marlin/src/module/probe.h @@ -45,7 +45,7 @@ }; #endif -#if USES_Z_MIN_PROBE_PIN +#if USE_Z_MIN_PROBE #define PROBE_TRIGGERED() (READ(Z_MIN_PROBE_PIN) == Z_MIN_PROBE_ENDSTOP_HIT_STATE) #else #define PROBE_TRIGGERED() (READ(Z_MIN_PIN) == Z_MIN_ENDSTOP_HIT_STATE) diff --git a/Marlin/src/module/stepper/trinamic.cpp b/Marlin/src/module/stepper/trinamic.cpp index 893ce3f8db18..3db2c0827e43 100644 --- a/Marlin/src/module/stepper/trinamic.cpp +++ b/Marlin/src/module/stepper/trinamic.cpp @@ -991,13 +991,13 @@ void reset_trinamic_drivers() { #if USE_SENSORLESS TERN_(X_SENSORLESS, stepperX.homing_threshold(X_STALL_SENSITIVITY)); - TERN_(X2_SENSORLESS, stepperX2.homing_threshold(CAT(TERN(X2_SENSORLESS, X2, X), _STALL_SENSITIVITY))); + TERN_(X2_SENSORLESS, stepperX2.homing_threshold(X2_STALL_SENSITIVITY)); TERN_(Y_SENSORLESS, stepperY.homing_threshold(Y_STALL_SENSITIVITY)); - TERN_(Y2_SENSORLESS, stepperY2.homing_threshold(CAT(TERN(Y2_SENSORLESS, Y2, Y), _STALL_SENSITIVITY))); + TERN_(Y2_SENSORLESS, stepperY2.homing_threshold(Y2_STALL_SENSITIVITY)); TERN_(Z_SENSORLESS, stepperZ.homing_threshold(Z_STALL_SENSITIVITY)); - TERN_(Z2_SENSORLESS, stepperZ2.homing_threshold(CAT(TERN(Z2_SENSORLESS, Z2, Z), _STALL_SENSITIVITY))); - TERN_(Z3_SENSORLESS, stepperZ3.homing_threshold(CAT(TERN(Z3_SENSORLESS, Z3, Z), _STALL_SENSITIVITY))); - TERN_(Z4_SENSORLESS, stepperZ4.homing_threshold(CAT(TERN(Z4_SENSORLESS, Z4, Z), _STALL_SENSITIVITY))); + TERN_(Z2_SENSORLESS, stepperZ2.homing_threshold(Z2_STALL_SENSITIVITY)); + TERN_(Z3_SENSORLESS, stepperZ3.homing_threshold(Z3_STALL_SENSITIVITY)); + TERN_(Z4_SENSORLESS, stepperZ4.homing_threshold(Z4_STALL_SENSITIVITY)); TERN_(I_SENSORLESS, stepperI.homing_threshold(I_STALL_SENSITIVITY)); TERN_(J_SENSORLESS, stepperJ.homing_threshold(J_STALL_SENSITIVITY)); TERN_(K_SENSORLESS, stepperK.homing_threshold(K_STALL_SENSITIVITY)); diff --git a/Marlin/src/pins/pins_postprocess.h b/Marlin/src/pins/pins_postprocess.h index daf6c03aa321..b0fe6bcb6bc0 100644 --- a/Marlin/src/pins/pins_postprocess.h +++ b/Marlin/src/pins/pins_postprocess.h @@ -497,7 +497,7 @@ #undef NEEDS_Z_MINMAX // -// Assign endstop pins for boards with only 3 connectors +// Assign endstop pins, with handling for boards that have only 3 connectors // #if HAS_X_AXIS #ifdef X_STOP_PIN @@ -1639,10 +1639,10 @@ /** * X_DUAL_ENDSTOPS endstop reassignment */ -#if ENABLED(X_DUAL_ENDSTOPS) - #if X_HOME_TO_MAX && !defined(X2_MAX_PIN) && PIN_EXISTS(X2_STOP) +#if ENABLED(X_DUAL_ENDSTOPS) && PIN_EXISTS(X2_STOP) + #if X_HOME_TO_MAX && !defined(X2_MAX_PIN) #define X2_MAX_PIN X2_STOP_PIN - #elif X_HOME_TO_MIN && !defined(X2_MIN_PIN) && PIN_EXISTS(X2_STOP) + #elif X_HOME_TO_MIN && !defined(X2_MIN_PIN) #define X2_MIN_PIN X2_STOP_PIN #endif #endif @@ -1650,10 +1650,10 @@ /** * Y_DUAL_ENDSTOPS endstop reassignment */ -#if ENABLED(Y_DUAL_ENDSTOPS) - #if Y_HOME_TO_MAX && !defined(Y2_MAX_PIN) && PIN_EXISTS(Y2_STOP) +#if ENABLED(Y_DUAL_ENDSTOPS) && PIN_EXISTS(Y2_STOP) + #if Y_HOME_TO_MAX && !defined(Y2_MAX_PIN) #define Y2_MAX_PIN Y2_STOP_PIN - #elif Y_HOME_TO_MIN && !defined(Y2_MIN_PIN) && PIN_EXISTS(Y2_STOP) + #elif Y_HOME_TO_MIN && !defined(Y2_MIN_PIN) #define Y2_MIN_PIN Y2_STOP_PIN #endif #endif @@ -1662,22 +1662,24 @@ * Z_MULTI_ENDSTOPS endstop reassignment */ #if ENABLED(Z_MULTI_ENDSTOPS) - #if Z_HOME_TO_MAX && !defined(Z2_MAX_PIN) && PIN_EXISTS(Z2_STOP) - #define Z2_MAX_PIN Z2_STOP_PIN - #elif Z_HOME_TO_MIN && !defined(Z2_MIN_PIN) && PIN_EXISTS(Z2_STOP) - #define Z2_MIN_PIN Z2_STOP_PIN + #if PIN_EXISTS(Z2_STOP) + #if Z_HOME_TO_MAX && !defined(Z2_MAX_PIN) + #define Z2_MAX_PIN Z2_STOP_PIN + #elif Z_HOME_TO_MIN && !defined(Z2_MIN_PIN) + #define Z2_MIN_PIN Z2_STOP_PIN + #endif #endif - #if NUM_Z_STEPPERS >= 3 - #if Z_HOME_TO_MAX && !defined(Z3_MAX_PIN) && PIN_EXISTS(Z3_STOP) + #if NUM_Z_STEPPERS >= 3 && PIN_EXISTS(Z3_STOP) + #if Z_HOME_TO_MAX && !defined(Z3_MAX_PIN) #define Z3_MAX_PIN Z3_STOP_PIN - #elif Z_HOME_TO_MIN && !defined(Z3_MIN_PIN) && PIN_EXISTS(Z3_STOP) + #elif Z_HOME_TO_MIN && !defined(Z3_MIN_PIN) #define Z3_MIN_PIN Z3_STOP_PIN #endif #endif - #if NUM_Z_STEPPERS >= 4 - #if Z_HOME_TO_MAX && !defined(Z4_MAX_PIN) && PIN_EXISTS(Z4_STOP) + #if NUM_Z_STEPPERS >= 4 && PIN_EXISTS(Z4_STOP) + #if Z_HOME_TO_MAX && !defined(Z4_MAX_PIN) #define Z4_MAX_PIN Z4_STOP_PIN - #elif Z_HOME_TO_MIN && !defined(Z4_MIN_PIN) && PIN_EXISTS(Z4_STOP) + #elif Z_HOME_TO_MIN && !defined(Z4_MIN_PIN) #define Z4_MIN_PIN Z4_STOP_PIN #endif #endif