CoreXY sensorless homing (#17972)
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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) | ||||
| @@ -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; | ||||
|       } | ||||
|   | ||||
| @@ -83,13 +83,14 @@ 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 | ||||
| @@ -97,7 +98,7 @@ exec_test $1 $2 "COREXY" | ||||
| 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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user