Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Marlin/src/inc/Conditionals_post.h
Original file line number Diff line number Diff line change
Expand Up @@ -1587,6 +1587,15 @@
#if _HAS_STOP(Z,MAX)
#define HAS_Z_MAX 1
#endif
#if _HAS_STOP(X,STOP)
#define HAS_X_STOP 1
#endif
#if _HAS_STOP(Y,STOP)
#define HAS_Y_STOP 1
#endif
#if _HAS_STOP(Z,STOP)
#define HAS_Z_STOP 1
#endif
#if PIN_EXISTS(X2_MIN)
#define HAS_X2_MIN 1
#endif
Expand Down
27 changes: 23 additions & 4 deletions Marlin/src/module/endstops.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,8 @@ void Endstops::update() {
}
#endif

// Now, we must signal, after validation, if an endstop limit is pressed or not
// Signal, after validation, if an endstop limit is pressed or not

if (stepper.axis_is_moving(X_AXIS)) {
if (stepper.motor_direction(X_AXIS_HEAD)) { // -direction
#if HAS_X_MIN || (X_SPI_SENSORLESS && X_HOME_DIR < 0)
Expand Down Expand Up @@ -804,19 +805,37 @@ void Endstops::update() {
bool Endstops::tmc_spi_homing_check() {
bool hit = false;
#if X_SPI_SENSORLESS
if (tmc_spi_homing.x && stepperX.test_stall_status()) {
if (tmc_spi_homing.x && (stepperX.test_stall_status()
#if CORE_IS_XY && Y_SPI_SENSORLESS
|| stepperY.test_stall_status()
#elif CORE_IS_XZ && Z_SPI_SENSORLESS
|| stepperZ.test_stall_status()
#endif
)) {
SBI(live_state, X_STOP);
hit = true;
}
#endif
#if Y_SPI_SENSORLESS
if (tmc_spi_homing.y && stepperY.test_stall_status()) {
if (tmc_spi_homing.y && (stepperY.test_stall_status()
#if CORE_IS_XY && X_SPI_SENSORLESS
|| stepperX.test_stall_status()
#elif CORE_IS_YZ && Z_SPI_SENSORLESS
|| stepperZ.test_stall_status()
#endif
)) {
SBI(live_state, Y_STOP);
hit = true;
}
#endif
#if Z_SPI_SENSORLESS
if (tmc_spi_homing.z && stepperZ.test_stall_status()) {
if (tmc_spi_homing.z && (stepperZ.test_stall_status()
#if CORE_IS_XZ && X_SPI_SENSORLESS
|| stepperX.test_stall_status()
#elif CORE_IS_YZ && Y_SPI_SENSORLESS
|| stepperY.test_stall_status()
#endif
)) {
SBI(live_state, Z_STOP);
hit = true;
}
Expand Down
5 changes: 3 additions & 2 deletions buildroot/share/tests/teensy35-tests
Original file line number Diff line number Diff line change
Expand Up @@ -83,21 +83,22 @@ exec_test $1 $2 "Mixing Extruder"
# opt_set NUM_SERVOS 1
# opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER
# exec_test $1 $2 "SWITCHING_EXTRUDER"

#
# Enable COREXY
#
restore_configs
opt_set MOTHERBOARD BOARD_TEENSY35_36
opt_enable COREXY
exec_test $1 $2 "COREXY"
exec_test $1 $2 "Teensy 3.5/3.6 COREXY"

#
# Enable COREXZ
#
restore_configs
opt_set MOTHERBOARD BOARD_TEENSY35_36
opt_enable COREXZ
exec_test $1 $2 "COREXZ"
exec_test $1 $2 "Teensy 3.5/3.6 COREXZ"

#
# Enable Dual Z with Dual Z endstops
Expand Down