G34 Auto-align multi-stepper Z axis (#11302)
This commit is contained in:
parent
f9b80e7217
commit
5536228359
72 changed files with 1434 additions and 29 deletions
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -360,7 +360,6 @@
|
||||||
* X1 is the left carriage, X2 the right. They park and home at opposite ends of the X axis.
|
* X1 is the left carriage, X2 the right. They park and home at opposite ends of the X axis.
|
||||||
* By default the X2 stepper is assigned to the first unused E plug on the board.
|
* By default the X2 stepper is assigned to the first unused E plug on the board.
|
||||||
*/
|
*/
|
||||||
//#define DUAL_X_CARRIAGE
|
|
||||||
#if ENABLED(DUAL_X_CARRIAGE)
|
#if ENABLED(DUAL_X_CARRIAGE)
|
||||||
#define X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
|
#define X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
|
||||||
#define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
|
#define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
|
||||||
|
@ -409,6 +408,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -360,7 +360,6 @@
|
||||||
* X1 is the left carriage, X2 the right. They park and home at opposite ends of the X axis.
|
* X1 is the left carriage, X2 the right. They park and home at opposite ends of the X axis.
|
||||||
* By default the X2 stepper is assigned to the first unused E plug on the board.
|
* By default the X2 stepper is assigned to the first unused E plug on the board.
|
||||||
*/
|
*/
|
||||||
//#define DUAL_X_CARRIAGE
|
|
||||||
#if ENABLED(DUAL_X_CARRIAGE)
|
#if ENABLED(DUAL_X_CARRIAGE)
|
||||||
#define X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
|
#define X1_MIN_POS X_MIN_POS // set minimum to ensure first x-carriage doesn't hit the parked second X-carriage
|
||||||
#define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
|
#define X1_MAX_POS X_BED_SIZE // set maximum to ensure first x-carriage doesn't hit the parked second X-carriage
|
||||||
|
@ -409,6 +408,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -413,6 +413,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -414,6 +414,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -422,6 +422,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -409,6 +409,24 @@
|
||||||
// Enable this if X or Y can't home without homing the other axis first.
|
// Enable this if X or Y can't home without homing the other axis first.
|
||||||
//#define CODEPENDENT_XY_HOMING
|
//#define CODEPENDENT_XY_HOMING
|
||||||
|
|
||||||
|
// Automatic alignment of Z steppers for multi-Z-stepper and a probe
|
||||||
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
// Define probe X and Y positions for Z1, Z2 [, Z3]
|
||||||
|
#define Z_STEPPER_ALIGN_X { 10, 150, 290 }
|
||||||
|
#define Z_STEPPER_ALIGN_Y { 290, 10, 290 }
|
||||||
|
// Set number of iterations to align
|
||||||
|
#define Z_STEPPER_ALIGN_ITERATIONS 3
|
||||||
|
// Enable to restore leveling setup after operation
|
||||||
|
#define RESTORE_LEVELING_AFTER_G34
|
||||||
|
// Use the amplification factor to de-/increase correction step.
|
||||||
|
// In case the stepper (spindle) position is further out than the test point
|
||||||
|
// Use a value > 1. NOTE: This may cause instability
|
||||||
|
#define Z_STEPPER_ALIGN_AMP 1.0
|
||||||
|
// Stop criterion. If the accuracy is better than this stop iterating early
|
||||||
|
#define Z_STEPPER_ALIGN_ACC 0.02
|
||||||
|
#endif
|
||||||
|
|
||||||
// @section machine
|
// @section machine
|
||||||
|
|
||||||
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
#define AXIS_RELATIVE_MODES {false, false, false, false}
|
||||||
|
|
|
@ -232,6 +232,16 @@ void I2CPositionEncoder::set_homed() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void I2CPositionEncoder::set_unhomed() {
|
||||||
|
zeroOffset = 0;
|
||||||
|
homed = trusted = false;
|
||||||
|
|
||||||
|
#ifdef I2CPE_DEBUG
|
||||||
|
SERIAL_ECHO(axis_codes[encoderAxis]);
|
||||||
|
SERIAL_ECHOLNPGM(" axis encoder unhomed.");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
bool I2CPositionEncoder::passes_test(const bool report) {
|
bool I2CPositionEncoder::passes_test(const bool report) {
|
||||||
if (report) {
|
if (report) {
|
||||||
if (H != I2CPE_MAG_SIG_GOOD) SERIAL_ECHOPGM("Warning. ");
|
if (H != I2CPE_MAG_SIG_GOOD) SERIAL_ECHOPGM("Warning. ");
|
||||||
|
|
|
@ -146,6 +146,7 @@ class I2CPositionEncoder {
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
void set_homed();
|
void set_homed();
|
||||||
|
void set_unhomed();
|
||||||
|
|
||||||
int32_t get_raw_count();
|
int32_t get_raw_count();
|
||||||
|
|
||||||
|
@ -230,6 +231,11 @@ class I2CPositionEncodersMgr {
|
||||||
if (encoders[i].get_axis() == axis) encoders[i].set_homed();
|
if (encoders[i].get_axis() == axis) encoders[i].set_homed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void unhomed(const AxisEnum axis) {
|
||||||
|
LOOP_PE(i)
|
||||||
|
if (encoders[i].get_axis() == axis) encoders[i].set_unhomed();
|
||||||
|
}
|
||||||
|
|
||||||
static void report_position(const int8_t idx, const bool units, const bool noOffset);
|
static void report_position(const int8_t idx, const bool units, const bool noOffset);
|
||||||
|
|
||||||
static void report_status(const int8_t idx) {
|
static void report_status(const int8_t idx) {
|
||||||
|
|
286
Marlin/src/gcode/calibrate/G34_M422.cpp
Normal file
286
Marlin/src/gcode/calibrate/G34_M422.cpp
Normal file
|
@ -0,0 +1,286 @@
|
||||||
|
/**
|
||||||
|
* Marlin 3D Printer Firmware
|
||||||
|
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
|
*
|
||||||
|
* Based on Sprinter and grbl.
|
||||||
|
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../../inc/MarlinConfig.h"
|
||||||
|
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
|
||||||
|
#include "../gcode.h"
|
||||||
|
#include "../../module/delta.h"
|
||||||
|
#include "../../module/motion.h"
|
||||||
|
#include "../../module/stepper.h"
|
||||||
|
#include "../../module/endstops.h"
|
||||||
|
|
||||||
|
#if HOTENDS > 1
|
||||||
|
#include "../../module/tool_change.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HAS_BED_PROBE
|
||||||
|
#include "../../module/probe.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HAS_LEVELING
|
||||||
|
#include "../../feature/bedlevel/bedlevel.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
float z_auto_align_xpos[Z_STEPPER_COUNT] = Z_STEPPER_ALIGN_X,
|
||||||
|
z_auto_align_ypos[Z_STEPPER_COUNT] = Z_STEPPER_ALIGN_Y;
|
||||||
|
|
||||||
|
inline void set_all_z_lock(const bool lock) {
|
||||||
|
stepper.set_z_lock(lock);
|
||||||
|
stepper.set_z2_lock(lock);
|
||||||
|
#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS)
|
||||||
|
stepper.set_z3_lock(lock);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* G34: Z-Stepper automatic alignment
|
||||||
|
*
|
||||||
|
* Parameters: I<iterations> T<accuracy> A<amplification>
|
||||||
|
*/
|
||||||
|
void GcodeSuite::G34() {
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) {
|
||||||
|
SERIAL_ECHOLNPGM(">>> G34");
|
||||||
|
log_machine_info();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
do { // break out on error
|
||||||
|
|
||||||
|
if (!TEST(axis_known_position, X_AXIS) || !TEST(axis_known_position, Y_AXIS)) {
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> XY homing required.");
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const int8_t z_auto_align_iterations = parser.intval('I', Z_STEPPER_ALIGN_ITERATIONS);
|
||||||
|
if (!WITHIN(z_auto_align_iterations, 1, 30)) {
|
||||||
|
SERIAL_ECHOLNPGM("?(I)teration out of bounds (1-30).");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const float z_auto_align_accuracy = parser.floatval('T', Z_STEPPER_ALIGN_ACC);
|
||||||
|
if (!WITHIN(z_auto_align_accuracy, 0.01f, 1.0f)) {
|
||||||
|
SERIAL_ECHOLNPGM("?(T)arget accuracy out of bounds (0.01-1.0).");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const float z_auto_align_amplification = parser.floatval('A', Z_STEPPER_ALIGN_AMP);
|
||||||
|
if (!WITHIN(z_auto_align_amplification, 0.5f, 2.0f)) {
|
||||||
|
SERIAL_ECHOLNPGM("?(A)mplification out of bounds (0.5-2.0).");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wait for planner moves to finish!
|
||||||
|
planner.synchronize();
|
||||||
|
|
||||||
|
// Disable the leveling matrix before auto-aligning
|
||||||
|
#if HAS_LEVELING
|
||||||
|
#if ENABLED(RESTORE_LEVELING_AFTER_G34)
|
||||||
|
const bool leveling_was_active = planner.leveling_active;
|
||||||
|
#endif
|
||||||
|
set_bed_leveling_enabled(false);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(CNC_WORKSPACE_PLANES)
|
||||||
|
workspace_plane = PLANE_XY;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(BLTOUCH)
|
||||||
|
bltouch_command(BLTOUCH_RESET);
|
||||||
|
set_bltouch_deployed(false);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Always home with tool 0 active
|
||||||
|
#if HOTENDS > 1
|
||||||
|
const uint8_t old_tool_index = active_extruder;
|
||||||
|
tool_change(0, 0, true);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
|
||||||
|
extruder_duplication_enabled = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Remember corrections to determine errors on each iteration
|
||||||
|
float last_z_align_move[Z_STEPPER_COUNT] = ARRAY_N(Z_STEPPER_COUNT, 10000.0f, 10000.0f, 10000.0f),
|
||||||
|
z_measured[Z_STEPPER_COUNT] = { 0 };
|
||||||
|
bool err_break = false;
|
||||||
|
for (uint8_t iteration = 0; iteration < z_auto_align_iterations; ++iteration) {
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> probing all positions.");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Reset minimum value
|
||||||
|
float z_measured_min = 100000.0f;
|
||||||
|
// For each iteration go through all probe positions (one per Z-Stepper)
|
||||||
|
for (uint8_t zstepper = 0; zstepper < Z_STEPPER_COUNT; ++zstepper) {
|
||||||
|
// Probe a Z height for each stepper
|
||||||
|
z_measured[zstepper] = probe_pt(z_auto_align_xpos[zstepper], z_auto_align_ypos[zstepper], PROBE_PT_RAISE, false);
|
||||||
|
|
||||||
|
// Stop on error
|
||||||
|
if (isnan(z_measured[zstepper])) {
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> PROBING FAILED!");
|
||||||
|
#endif
|
||||||
|
err_break = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) {
|
||||||
|
SERIAL_ECHOPAIR("> Z", int(zstepper + 1));
|
||||||
|
SERIAL_ECHOLNPAIR(" measured position is ", z_measured[zstepper]);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Remember the maximum position to calculate the correction
|
||||||
|
z_measured_min = MIN(z_measured_min, z_measured[zstepper]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (err_break) break;
|
||||||
|
|
||||||
|
// Remember the current z position to return to
|
||||||
|
float z_original_position = current_position[Z_AXIS];
|
||||||
|
|
||||||
|
// Iterations can stop early if all corrections are below required accuracy
|
||||||
|
bool success_break = true;
|
||||||
|
// Correct stepper offsets and re-iterate
|
||||||
|
for (uint8_t zstepper = 0; zstepper < Z_STEPPER_COUNT; ++zstepper) {
|
||||||
|
stepper.set_separate_multi_axis(true);
|
||||||
|
set_all_z_lock(true); // Steppers will be enabled separately
|
||||||
|
|
||||||
|
// Calculate current stepper move
|
||||||
|
const float z_align_move = z_measured[zstepper] - z_measured_min,
|
||||||
|
z_align_abs = ABS(z_align_move);
|
||||||
|
|
||||||
|
// Check for lost accuracy compared to last move
|
||||||
|
if (last_z_align_move[zstepper] < z_align_abs - 1.0) {
|
||||||
|
// Stop here
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> detected decreasing accuracy.");
|
||||||
|
#endif
|
||||||
|
err_break = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
last_z_align_move[zstepper] = z_align_abs;
|
||||||
|
|
||||||
|
// Only stop early if all measured points achieve accuracy target
|
||||||
|
if (z_align_abs > z_auto_align_accuracy) success_break = false;
|
||||||
|
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) {
|
||||||
|
SERIAL_ECHOPAIR("> Z", int(zstepper + 1));
|
||||||
|
SERIAL_ECHOLNPAIR(" corrected by ", z_align_move);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
switch (zstepper) {
|
||||||
|
case 0: stepper.set_z_lock(false); break;
|
||||||
|
case 1: stepper.set_z2_lock(false); break;
|
||||||
|
#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS)
|
||||||
|
case 2: stepper.set_z3_lock(false); break;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// This will lose home position and require re-homing
|
||||||
|
do_blocking_move_to_z(z_auto_align_amplification * z_align_move + current_position[Z_AXIS]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (err_break) break;
|
||||||
|
|
||||||
|
// Move Z back to previous position
|
||||||
|
set_all_z_lock(true);
|
||||||
|
do_blocking_move_to_z(z_original_position);
|
||||||
|
set_all_z_lock(false);
|
||||||
|
|
||||||
|
stepper.set_separate_multi_axis(false);
|
||||||
|
|
||||||
|
if (success_break) {
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> achieved target accuracy.");
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (err_break) break;
|
||||||
|
|
||||||
|
// Restore the active tool after homing
|
||||||
|
#if HOTENDS > 1
|
||||||
|
tool_change(old_tool_index, 0,
|
||||||
|
#if ENABLED(PARKING_EXTRUDER)
|
||||||
|
false // Fetch the previous toolhead
|
||||||
|
#else
|
||||||
|
true
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if HAS_LEVELING
|
||||||
|
#if ENABLED(RESTORE_LEVELING_AFTER_G34)
|
||||||
|
set_bed_leveling_enabled(leveling_was_active);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// After this operation the z position needs correction
|
||||||
|
set_axis_is_not_at_home(Z_AXIS);
|
||||||
|
|
||||||
|
gcode.G28(false);
|
||||||
|
|
||||||
|
} while(0);
|
||||||
|
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< G34");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* M422: Z-Stepper automatic alignment parameter selection
|
||||||
|
*/
|
||||||
|
void GcodeSuite::M422() {
|
||||||
|
const int8_t zstepper = parser.intval('S') - 1;
|
||||||
|
if (!WITHIN(zstepper, 0, Z_STEPPER_COUNT - 1)) {
|
||||||
|
SERIAL_PROTOCOLLNPGM("?(S) Z-Stepper index invalid.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const float x_pos = parser.floatval('X', z_auto_align_xpos[zstepper]);
|
||||||
|
if (!WITHIN(x_pos, X_MIN_POS, X_MAX_POS)) {
|
||||||
|
SERIAL_PROTOCOLLNPGM("?(X) out of bounds.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const float y_pos = parser.floatval('Y', z_auto_align_ypos[zstepper]);
|
||||||
|
if (!WITHIN(y_pos, Y_MIN_POS, Y_MAX_POS)) {
|
||||||
|
SERIAL_PROTOCOLLNPGM("?(Y) out of bounds.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
z_auto_align_xpos[zstepper] = x_pos;
|
||||||
|
z_auto_align_ypos[zstepper] = y_pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // Z_STEPPER_AUTO_ALIGN
|
|
@ -252,8 +252,12 @@ void GcodeSuite::process_parsed_command(
|
||||||
case 33: G33(); break; // G33: Delta Auto-Calibration
|
case 33: G33(); break; // G33: Delta Auto-Calibration
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
case 34: G34(); break; // G34: Z Stepper automatic alignment using probe
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(G38_PROBE_TARGET)
|
#if ENABLED(G38_PROBE_TARGET)
|
||||||
case 38: // G38.2 & G38.3
|
case 38: // G38.2 & G38.3: Probe towards target
|
||||||
if (parser.subcode == 2 || parser.subcode == 3)
|
if (parser.subcode == 2 || parser.subcode == 3)
|
||||||
G38(parser.subcode == 2);
|
G38(parser.subcode == 2);
|
||||||
break;
|
break;
|
||||||
|
@ -677,6 +681,10 @@ void GcodeSuite::process_parsed_command(
|
||||||
case 869: M869(); break; // M869: Report axis error
|
case 869: M869(); break; // M869: Report axis error
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
case 422: M422(); break; // M422: Set Z Stepper automatic alignment position using probe
|
||||||
|
#endif
|
||||||
|
|
||||||
case 999: M999(); break; // M999: Restart after being Stopped
|
case 999: M999(); break; // M999: Restart after being Stopped
|
||||||
|
|
||||||
default: parser.unknown_command_error(); break;
|
default: parser.unknown_command_error(); break;
|
||||||
|
|
|
@ -63,6 +63,7 @@
|
||||||
* G31 - Dock sled (Z_PROBE_SLED only)
|
* G31 - Dock sled (Z_PROBE_SLED only)
|
||||||
* G32 - Undock sled (Z_PROBE_SLED only)
|
* G32 - Undock sled (Z_PROBE_SLED only)
|
||||||
* G33 - Delta Auto-Calibration (Requires DELTA_AUTO_CALIBRATION)
|
* G33 - Delta Auto-Calibration (Requires DELTA_AUTO_CALIBRATION)
|
||||||
|
* G34 - Z Stepper automatic alignment using probe: I<iterations> T<accuracy> A<amplification> (Requires Z_STEPPER_AUTO_ALIGN)
|
||||||
* G38 - Probe in any direction using the Z_MIN_PROBE (Requires G38_PROBE_TARGET)
|
* G38 - Probe in any direction using the Z_MIN_PROBE (Requires G38_PROBE_TARGET)
|
||||||
* G42 - Coordinated move to a mesh point (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BLINEAR, or AUTO_BED_LEVELING_UBL)
|
* G42 - Coordinated move to a mesh point (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BLINEAR, or AUTO_BED_LEVELING_UBL)
|
||||||
* G80 - Cancel current motion mode (Requires GCODE_MOTION_MODES)
|
* G80 - Cancel current motion mode (Requires GCODE_MOTION_MODES)
|
||||||
|
@ -197,6 +198,7 @@
|
||||||
* M410 - Quickstop. Abort all planned moves.
|
* M410 - Quickstop. Abort all planned moves.
|
||||||
* M420 - Enable/Disable Leveling (with current values) S1=enable S0=disable (Requires MESH_BED_LEVELING or ABL)
|
* M420 - Enable/Disable Leveling (with current values) S1=enable S0=disable (Requires MESH_BED_LEVELING or ABL)
|
||||||
* M421 - Set a single Z coordinate in the Mesh Leveling grid. X<units> Y<units> Z<units> (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL)
|
* M421 - Set a single Z coordinate in the Mesh Leveling grid. X<units> Y<units> Z<units> (Requires MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, or AUTO_BED_LEVELING_UBL)
|
||||||
|
* M422 - Set Z Stepper automatic alignment position using probe. X<units> Y<units> A<axis> (Requires Z_STEPPER_AUTO_ALIGN)
|
||||||
* M428 - Set the home_offset based on the current_position. Nearest edge applies. (Disabled by NO_WORKSPACE_OFFSETS or DELTA)
|
* M428 - Set the home_offset based on the current_position. Nearest edge applies. (Disabled by NO_WORKSPACE_OFFSETS or DELTA)
|
||||||
* M500 - Store parameters in EEPROM. (Requires EEPROM_SETTINGS)
|
* M500 - Store parameters in EEPROM. (Requires EEPROM_SETTINGS)
|
||||||
* M501 - Restore parameters from EEPROM. (Requires EEPROM_SETTINGS)
|
* M501 - Restore parameters from EEPROM. (Requires EEPROM_SETTINGS)
|
||||||
|
@ -409,6 +411,11 @@ private:
|
||||||
static void G33();
|
static void G33();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
static void G34();
|
||||||
|
static void M422();
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(G38_PROBE_TARGET)
|
#if ENABLED(G38_PROBE_TARGET)
|
||||||
static void G38(const bool is_38_2);
|
static void G38(const bool is_38_2);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1632,4 +1632,12 @@
|
||||||
#define USE_EXECUTE_COMMANDS_IMMEDIATE
|
#define USE_EXECUTE_COMMANDS_IMMEDIATE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(Z_TRIPLE_STEPPER_DRIVERS)
|
||||||
|
#define Z_STEPPER_COUNT 3
|
||||||
|
#elif ENABLED(Z_DUAL_STEPPER_DRIVERS)
|
||||||
|
#define Z_STEPPER_COUNT 2
|
||||||
|
#else
|
||||||
|
#define Z_STEPPER_COUNT 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // CONDITIONALS_POST_H
|
#endif // CONDITIONALS_POST_H
|
||||||
|
|
|
@ -1880,6 +1880,19 @@ static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too m
|
||||||
#error "FAST_PWM_FAN only supported by 8 bit CPUs."
|
#error "FAST_PWM_FAN only supported by 8 bit CPUs."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
#if !Z_MULTI_STEPPER_DRIVERS
|
||||||
|
#error "Z_STEPPER_AUTO_ALIGN requires Z_DUAL_STEPPER_DRIVERS or Z_TRIPLE_STEPPER_DRIVERS."
|
||||||
|
#elif !HAS_BED_PROBE
|
||||||
|
#error "Z_STEPPER_AUTO_ALIGN requires a Z-bed probe."
|
||||||
|
#endif
|
||||||
|
constexpr float sanity_arr_z_align_x[] = Z_STEPPER_ALIGN_X, sanity_arr_z_align_y[] = Z_STEPPER_ALIGN_Y;
|
||||||
|
static_assert(
|
||||||
|
COUNT(sanity_arr_z_align_x) == Z_STEPPER_COUNT && COUNT(sanity_arr_z_align_y) == Z_STEPPER_COUNT,
|
||||||
|
"Z_STEPPER_ALIGN_[XY]POS settings require one element per Z stepper."
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(PRINTCOUNTER) && DISABLED(EEPROM_SETTINGS)
|
#if ENABLED(PRINTCOUNTER) && DISABLED(EEPROM_SETTINGS)
|
||||||
#error "PRINTCOUNTER requires EEPROM_SETTINGS. Please update your Configuration."
|
#error "PRINTCOUNTER requires EEPROM_SETTINGS. Please update your Configuration."
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -51,6 +51,7 @@
|
||||||
#define MSG_AUTO_HOME_X _UxGT("Home X")
|
#define MSG_AUTO_HOME_X _UxGT("Home X")
|
||||||
#define MSG_AUTO_HOME_Y _UxGT("Home Y")
|
#define MSG_AUTO_HOME_Y _UxGT("Home Y")
|
||||||
#define MSG_AUTO_HOME_Z _UxGT("Home Z")
|
#define MSG_AUTO_HOME_Z _UxGT("Home Z")
|
||||||
|
#define MSG_AUTO_Z_ALIGN _UxGT("Z-Achsen abgleichen")
|
||||||
#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibriere Z")
|
#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibriere Z")
|
||||||
#define MSG_LEVEL_BED_HOMING _UxGT("Home XYZ")
|
#define MSG_LEVEL_BED_HOMING _UxGT("Home XYZ")
|
||||||
#define MSG_LEVEL_BED_WAITING _UxGT("Klick zum Starten")
|
#define MSG_LEVEL_BED_WAITING _UxGT("Klick zum Starten")
|
||||||
|
|
|
@ -91,6 +91,9 @@
|
||||||
#ifndef MSG_AUTO_HOME_Z
|
#ifndef MSG_AUTO_HOME_Z
|
||||||
#define MSG_AUTO_HOME_Z _UxGT("Home Z")
|
#define MSG_AUTO_HOME_Z _UxGT("Home Z")
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef MSG_AUTO_Z_ALIGN
|
||||||
|
#define MSG_AUTO_Z_ALIGN _UxGT("Auto Z-Align")
|
||||||
|
#endif
|
||||||
#ifndef MSG_TMC_Z_CALIBRATION
|
#ifndef MSG_TMC_Z_CALIBRATION
|
||||||
#define MSG_TMC_Z_CALIBRATION _UxGT("Calibrate Z")
|
#define MSG_TMC_Z_CALIBRATION _UxGT("Calibrate Z")
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -451,6 +451,13 @@ void menu_motion() {
|
||||||
MENU_ITEM(gcode, MSG_AUTO_HOME_Z, PSTR("G28 Z"));
|
MENU_ITEM(gcode, MSG_AUTO_HOME_Z, PSTR("G28 Z"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// Auto Z-Align
|
||||||
|
//
|
||||||
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
MENU_ITEM(gcode, MSG_AUTO_Z_ALIGN, PSTR("G34"));
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// TMC Z Calibration
|
// TMC Z Calibration
|
||||||
//
|
//
|
||||||
|
|
|
@ -1209,6 +1209,34 @@ void set_axis_is_at_home(const AxisEnum axis) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set an axis' to be unhomed.
|
||||||
|
*/
|
||||||
|
void set_axis_is_not_at_home(const AxisEnum axis) {
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) {
|
||||||
|
SERIAL_ECHOPAIR(">>> set_axis_is_not_at_home(", axis_codes[axis]);
|
||||||
|
SERIAL_CHAR(')');
|
||||||
|
SERIAL_EOL();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
CBI(axis_known_position, axis);
|
||||||
|
CBI(axis_homed, axis);
|
||||||
|
|
||||||
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
|
if (DEBUGGING(LEVELING)) {
|
||||||
|
SERIAL_ECHOPAIR("<<< set_axis_is_not_at_home(", axis_codes[axis]);
|
||||||
|
SERIAL_CHAR(')');
|
||||||
|
SERIAL_EOL();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLED(I2C_POSITION_ENCODERS)
|
||||||
|
I2CPEM.unhomed(axis);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Home an individual "raw axis" to its endstop.
|
* Home an individual "raw axis" to its endstop.
|
||||||
* This applies to XYZ on Cartesian and Core robots, and
|
* This applies to XYZ on Cartesian and Core robots, and
|
||||||
|
@ -1260,17 +1288,7 @@ void homeaxis(const AxisEnum axis) {
|
||||||
#if ENABLED(Y_DUAL_ENDSTOPS)
|
#if ENABLED(Y_DUAL_ENDSTOPS)
|
||||||
case Y_AXIS:
|
case Y_AXIS:
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(Z_DUAL_ENDSTOPS)
|
#if Z_MULTI_ENDSTOPS
|
||||||
case Z_AXIS:
|
|
||||||
#endif
|
|
||||||
stepper.set_separate_multi_axis(true);
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if ENABLED(Z_TRIPLE_ENDSTOPS)
|
|
||||||
switch (axis) {
|
|
||||||
#if ENABLED(Z_TRIPLE_ENDSTOPS)
|
|
||||||
case Z_AXIS:
|
case Z_AXIS:
|
||||||
#endif
|
#endif
|
||||||
stepper.set_separate_multi_axis(true);
|
stepper.set_separate_multi_axis(true);
|
||||||
|
|
|
@ -197,6 +197,8 @@ void clean_up_after_endstop_or_probe_move();
|
||||||
|
|
||||||
void set_axis_is_at_home(const AxisEnum axis);
|
void set_axis_is_at_home(const AxisEnum axis);
|
||||||
|
|
||||||
|
void set_axis_is_not_at_home(const AxisEnum axis);
|
||||||
|
|
||||||
void homeaxis(const AxisEnum axis);
|
void homeaxis(const AxisEnum axis);
|
||||||
|
|
||||||
#if ENABLED(SENSORLESS_HOMING)
|
#if ENABLED(SENSORLESS_HOMING)
|
||||||
|
|
|
@ -115,7 +115,7 @@ Stepper stepper; // Singleton
|
||||||
|
|
||||||
// public:
|
// public:
|
||||||
|
|
||||||
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || Z_MULTI_ENDSTOPS
|
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || Z_MULTI_ENDSTOPS || ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
bool Stepper::separate_multi_axis = false;
|
bool Stepper::separate_multi_axis = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -142,10 +142,10 @@ bool Stepper::abort_current_block;
|
||||||
#if ENABLED(Y_DUAL_ENDSTOPS)
|
#if ENABLED(Y_DUAL_ENDSTOPS)
|
||||||
bool Stepper::locked_Y_motor = false, Stepper::locked_Y2_motor = false;
|
bool Stepper::locked_Y_motor = false, Stepper::locked_Y2_motor = false;
|
||||||
#endif
|
#endif
|
||||||
#if Z_MULTI_ENDSTOPS
|
#if Z_MULTI_ENDSTOPS || ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
bool Stepper::locked_Z_motor = false, Stepper::locked_Z2_motor = false;
|
bool Stepper::locked_Z_motor = false, Stepper::locked_Z2_motor = false;
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(Z_TRIPLE_ENDSTOPS)
|
#if ENABLED(Z_TRIPLE_ENDSTOPS) || (ENABLED(Z_STEPPER_AUTO_ALIGN) && ENABLED(Z_TRIPLE_STEPPER_DRIVERS))
|
||||||
bool Stepper::locked_Z3_motor = false;
|
bool Stepper::locked_Z3_motor = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -211,7 +211,7 @@ volatile int32_t Stepper::endstops_trigsteps[XYZ];
|
||||||
volatile int32_t Stepper::count_position[NUM_AXIS] = { 0 };
|
volatile int32_t Stepper::count_position[NUM_AXIS] = { 0 };
|
||||||
int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 };
|
int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 };
|
||||||
|
|
||||||
#define DUAL_ENDSTOP_APPLY_STEP(A,V) \
|
#define DUAL_ENDSTOP_APPLY_STEP(A,V) \
|
||||||
if (separate_multi_axis) { \
|
if (separate_multi_axis) { \
|
||||||
if (A##_HOME_DIR < 0) { \
|
if (A##_HOME_DIR < 0) { \
|
||||||
if (!(TEST(endstops.state(), A##_MIN) && count_direction[_AXIS(A)] < 0) && !locked_##A##_motor) A##_STEP_WRITE(V); \
|
if (!(TEST(endstops.state(), A##_MIN) && count_direction[_AXIS(A)] < 0) && !locked_##A##_motor) A##_STEP_WRITE(V); \
|
||||||
|
@ -227,7 +227,17 @@ int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 };
|
||||||
A##2_STEP_WRITE(V); \
|
A##2_STEP_WRITE(V); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TRIPLE_ENDSTOP_APPLY_STEP(A,V) \
|
#define DUAL_SEPARATE_APPLY_STEP(A,V) \
|
||||||
|
if (separate_multi_axis) { \
|
||||||
|
if (!locked_##A##_motor) A##_STEP_WRITE(V); \
|
||||||
|
if (!locked_##A##2_motor) A##2_STEP_WRITE(V); \
|
||||||
|
} \
|
||||||
|
else { \
|
||||||
|
A##_STEP_WRITE(V); \
|
||||||
|
A##2_STEP_WRITE(V); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define TRIPLE_ENDSTOP_APPLY_STEP(A,V) \
|
||||||
if (separate_multi_axis) { \
|
if (separate_multi_axis) { \
|
||||||
if (A##_HOME_DIR < 0) { \
|
if (A##_HOME_DIR < 0) { \
|
||||||
if (!(TEST(endstops.state(), A##_MIN) && count_direction[_AXIS(A)] < 0) && !locked_##A##_motor) A##_STEP_WRITE(V); \
|
if (!(TEST(endstops.state(), A##_MIN) && count_direction[_AXIS(A)] < 0) && !locked_##A##_motor) A##_STEP_WRITE(V); \
|
||||||
|
@ -298,6 +308,8 @@ int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 };
|
||||||
#define Z_APPLY_DIR(v,Q) do{ Z_DIR_WRITE(v); Z2_DIR_WRITE(v); }while(0)
|
#define Z_APPLY_DIR(v,Q) do{ Z_DIR_WRITE(v); Z2_DIR_WRITE(v); }while(0)
|
||||||
#if ENABLED(Z_DUAL_ENDSTOPS)
|
#if ENABLED(Z_DUAL_ENDSTOPS)
|
||||||
#define Z_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(Z,v)
|
#define Z_APPLY_STEP(v,Q) DUAL_ENDSTOP_APPLY_STEP(Z,v)
|
||||||
|
#elif ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
|
#define Z_APPLY_STEP(v,Q) DUAL_SEPARATE_APPLY_STEP(Z,v)
|
||||||
#else
|
#else
|
||||||
#define Z_APPLY_STEP(v,Q) do{ Z_STEP_WRITE(v); Z2_STEP_WRITE(v); }while(0)
|
#define Z_APPLY_STEP(v,Q) do{ Z_STEP_WRITE(v); Z2_STEP_WRITE(v); }while(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -244,7 +244,7 @@ class Stepper {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || Z_MULTI_ENDSTOPS
|
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || Z_MULTI_ENDSTOPS || ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
static bool separate_multi_axis;
|
static bool separate_multi_axis;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -277,10 +277,10 @@ class Stepper {
|
||||||
#if ENABLED(Y_DUAL_ENDSTOPS)
|
#if ENABLED(Y_DUAL_ENDSTOPS)
|
||||||
static bool locked_Y_motor, locked_Y2_motor;
|
static bool locked_Y_motor, locked_Y2_motor;
|
||||||
#endif
|
#endif
|
||||||
#if Z_MULTI_ENDSTOPS
|
#if Z_MULTI_ENDSTOPS || ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
static bool locked_Z_motor, locked_Z2_motor;
|
static bool locked_Z_motor, locked_Z2_motor;
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(Z_TRIPLE_ENDSTOPS)
|
#if ENABLED(Z_TRIPLE_ENDSTOPS) || (ENABLED(Z_STEPPER_AUTO_ALIGN) && ENABLED(Z_TRIPLE_STEPPER_DRIVERS))
|
||||||
static bool locked_Z3_motor;
|
static bool locked_Z3_motor;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ class Stepper {
|
||||||
static void microstep_readings();
|
static void microstep_readings();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || Z_MULTI_ENDSTOPS
|
#if ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || Z_MULTI_ENDSTOPS || ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
FORCE_INLINE static void set_separate_multi_axis(const bool state) { separate_multi_axis = state; }
|
FORCE_INLINE static void set_separate_multi_axis(const bool state) { separate_multi_axis = state; }
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(X_DUAL_ENDSTOPS)
|
#if ENABLED(X_DUAL_ENDSTOPS)
|
||||||
|
@ -432,11 +432,11 @@ class Stepper {
|
||||||
FORCE_INLINE static void set_y_lock(const bool state) { locked_Y_motor = state; }
|
FORCE_INLINE static void set_y_lock(const bool state) { locked_Y_motor = state; }
|
||||||
FORCE_INLINE static void set_y2_lock(const bool state) { locked_Y2_motor = state; }
|
FORCE_INLINE static void set_y2_lock(const bool state) { locked_Y2_motor = state; }
|
||||||
#endif
|
#endif
|
||||||
#if Z_MULTI_ENDSTOPS
|
#if Z_MULTI_ENDSTOPS || (ENABLED(Z_STEPPER_AUTO_ALIGN) && Z_MULTI_STEPPER_DRIVERS)
|
||||||
FORCE_INLINE static void set_z_lock(const bool state) { locked_Z_motor = state; }
|
FORCE_INLINE static void set_z_lock(const bool state) { locked_Z_motor = state; }
|
||||||
FORCE_INLINE static void set_z2_lock(const bool state) { locked_Z2_motor = state; }
|
FORCE_INLINE static void set_z2_lock(const bool state) { locked_Z2_motor = state; }
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(Z_TRIPLE_ENDSTOPS)
|
#if ENABLED(Z_TRIPLE_ENDSTOPS) || (ENABLED(Z_STEPPER_AUTO_ALIGN) && ENABLED(Z_TRIPLE_STEPPER_DRIVERS))
|
||||||
FORCE_INLINE static void set_z3_lock(const bool state) { locked_Z3_motor = state; }
|
FORCE_INLINE static void set_z3_lock(const bool state) { locked_Z3_motor = state; }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -15,15 +15,15 @@ exec_test $1 $2 "RAMPS4DUE_EFB S_CURVE_ACCELERATION EEPROM_SETTINGS"
|
||||||
|
|
||||||
restore_configs
|
restore_configs
|
||||||
opt_set MOTHERBOARD BOARD_RADDS
|
opt_set MOTHERBOARD BOARD_RADDS
|
||||||
opt_enable USE_XMAX_PLUG USE_YMAX_PLUG
|
opt_enable USE_XMAX_PLUG USE_YMAX_PLUG FIX_MOUNTED_PROBE AUTO_BED_LEVELING_BILINEAR
|
||||||
opt_enable_adv Z_TRIPLE_STEPPER_DRIVERS Z_TRIPLE_ENDSTOPS
|
opt_enable_adv Z_TRIPLE_STEPPER_DRIVERS Z_TRIPLE_ENDSTOPS Z_STEPPER_AUTO_ALIGN
|
||||||
opt_add_adv Z2_MAX_ENDSTOP_INVERTING false
|
opt_add_adv Z2_MAX_ENDSTOP_INVERTING false
|
||||||
opt_add_adv Z3_MAX_ENDSTOP_INVERTING false
|
opt_add_adv Z3_MAX_ENDSTOP_INVERTING false
|
||||||
pins_set RAMPS X_MAX_PIN -1
|
pins_set RAMPS X_MAX_PIN -1
|
||||||
pins_set RAMPS Y_MAX_PIN -1
|
pins_set RAMPS Y_MAX_PIN -1
|
||||||
opt_add_adv Z2_MAX_PIN 2
|
opt_add_adv Z2_MAX_PIN 2
|
||||||
opt_add_adv Z3_MAX_PIN 3
|
opt_add_adv Z3_MAX_PIN 3
|
||||||
exec_test $1 $2 "RADDS Z_TRIPLE"
|
exec_test $1 $2 "Test RADDS with Z_TRIPLE_STEPPER_DRIVERS and Z_STEPPER_AUTO_ALIGN"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test SWITCHING_EXTRUDER
|
# Test SWITCHING_EXTRUDER
|
||||||
|
@ -33,4 +33,4 @@ opt_set MOTHERBOARD BOARD_RAMPS4DUE_EEF
|
||||||
opt_set EXTRUDERS 2
|
opt_set EXTRUDERS 2
|
||||||
opt_set NUM_SERVOS 1
|
opt_set NUM_SERVOS 1
|
||||||
opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER
|
opt_enable SWITCHING_EXTRUDER ULTIMAKERCONTROLLER
|
||||||
exec_test $1 $2 "SWITCHING_EXTRUDER"
|
exec_test $1 $2 "Test RAMPS4DUE with SWITCHING_EXTRUDER"
|
||||||
|
|
Reference in a new issue