Enable Z axis and delta sensorless homing (#9516)

This commit is contained in:
Thomas Moore 2018-02-08 04:20:44 -06:00 committed by Scott Lahteine
parent b2f8b4ada5
commit 1541224a81
50 changed files with 437 additions and 288 deletions

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1140,20 +1140,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1557,7 +1558,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1144,20 +1144,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1561,7 +1562,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1559,7 +1560,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1133,20 +1133,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1550,7 +1551,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1133,20 +1133,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1550,7 +1551,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1133,20 +1133,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1550,7 +1551,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1140,20 +1140,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1557,7 +1558,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1147,20 +1147,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1564,7 +1565,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1130,20 +1130,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1547,7 +1548,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1152,20 +1152,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1569,7 +1570,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1141,20 +1141,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1558,7 +1559,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1141,20 +1141,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1558,7 +1559,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1135,20 +1135,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1552,7 +1553,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1141,20 +1141,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1558,7 +1559,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1141,20 +1141,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1558,7 +1559,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1141,20 +1141,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1558,7 +1559,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1146,20 +1146,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1563,7 +1564,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1141,20 +1141,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1558,7 +1559,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1139,20 +1139,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1556,7 +1557,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -1140,20 +1140,21 @@
/** /**
* Use stallGuard2 to sense an obstacle and trigger an endstop. * Use stallGuard2 to sense an obstacle and trigger an endstop.
* You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
* X and Y homing will always be done in spreadCycle mode. * X, Y, and Z homing will always be done in spreadCycle mode.
* *
* X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
* Higher values make the system LESS sensitive. * Higher values make the system LESS sensitive.
* Lower value make the system MORE sensitive. * Lower value make the system MORE sensitive.
* Too low values can lead to false positives, while too high values will collide the axis without triggering. * Too low values can lead to false positives, while too high values will collide the axis without triggering.
* It is advised to set X/Y_HOME_BUMP_MM to 0. * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
* M914 X/Y to live tune the setting * M914 X/Y/Z to live tune the setting
*/ */
//#define SENSORLESS_HOMING // TMC2130 only //#define SENSORLESS_HOMING // TMC2130 only
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#define X_HOMING_SENSITIVITY 8 #define X_HOMING_SENSITIVITY 8
#define Y_HOMING_SENSITIVITY 8 #define Y_HOMING_SENSITIVITY 8
#define Z_HOMING_SENSITIVITY 8
#endif #endif
/** /**
@ -1557,7 +1558,7 @@
* this setting determines the minimum update time between checks. A value of 100 works well with * this setting determines the minimum update time between checks. A value of 100 works well with
* error rolling average when attempting to correct only for skips and not for vibration. * error rolling average when attempting to correct only for skips and not for vibration.
*/ */
#define I2CPE_MIN_UPD_TIME_MS 4 // Minimum time in miliseconds between encoder checks. #define I2CPE_MIN_UPD_TIME_MS 4 // (ms) Minimum time between encoder checks.
// Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise. // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
#define I2CPE_ERR_ROLLING_AVERAGE #define I2CPE_ERR_ROLLING_AVERAGE

View file

@ -150,7 +150,7 @@ char extended_axis_codes[11][3] = { "X", "X2", "Y", "Y2", "Z", "Z2", "E0", "E1",
const uint32_t pwm_scale = get_pwm_scale(st); const uint32_t pwm_scale = get_pwm_scale(st);
SERIAL_ECHO(axisID); SERIAL_ECHO(axisID);
SERIAL_ECHOPAIR(":", pwm_scale); SERIAL_ECHOPAIR(":", pwm_scale);
SERIAL_ECHOPGM(" |0b"); MYSERIAL0.print(get_status_response(st), BIN); SERIAL_ECHOPGM(" |0b"); SERIAL_PRINT(get_status_response(st), BIN);
SERIAL_ECHOPGM("| "); SERIAL_ECHOPGM("| ");
if (data.is_error) SERIAL_CHAR('E'); if (data.is_error) SERIAL_CHAR('E');
else if (data.is_ot) SERIAL_CHAR('O'); else if (data.is_ot) SERIAL_CHAR('O');
@ -239,7 +239,7 @@ void _tmc_say_pwmthrs(const char name[], const uint32_t thrs) {
void _tmc_say_sgt(const char name[], const uint32_t sgt) { void _tmc_say_sgt(const char name[], const uint32_t sgt) {
SERIAL_ECHO(name); SERIAL_ECHO(name);
SERIAL_ECHOPGM(" driver homing sensitivity set to "); SERIAL_ECHOPGM(" driver homing sensitivity set to ");
MYSERIAL0.println(sgt, DEC); SERIAL_PRINTLN(sgt, DEC);
} }
#if ENABLED(TMC_DEBUG) #if ENABLED(TMC_DEBUG)
@ -325,7 +325,7 @@ void _tmc_say_sgt(const char name[], const uint32_t sgt) {
#if ENABLED(HAVE_TMC2208) #if ENABLED(HAVE_TMC2208)
static void tmc_status(TMC2208Stepper &st, const TMC_debug_enum i) { static void tmc_status(TMC2208Stepper &st, const TMC_debug_enum i) {
switch(i) { switch(i) {
case TMC_TSTEP: { uint32_t data = 0; st.TSTEP(&data); MYSERIAL0.print(data); break; } case TMC_TSTEP: { uint32_t data = 0; st.TSTEP(&data); SERIAL_PROTOCOL(data); break; }
case TMC_PWM_SCALE: SERIAL_PRINT(st.pwm_scale_sum(), DEC); break; case TMC_PWM_SCALE: SERIAL_PRINT(st.pwm_scale_sum(), DEC); break;
case TMC_STEALTHCHOP: serialprintPGM(st.stealth() ? PSTR("true") : PSTR("false")); break; case TMC_STEALTHCHOP: serialprintPGM(st.stealth() ? PSTR("true") : PSTR("false")); break;
case TMC_S2VSA: if (st.s2vsa()) SERIAL_CHAR('X'); break; case TMC_S2VSA: if (st.s2vsa()) SERIAL_CHAR('X'); break;
@ -351,7 +351,7 @@ void _tmc_say_sgt(const char name[], const uint32_t sgt) {
case TMC_CODES: SERIAL_ECHO(extended_axis_codes[axis]); break; case TMC_CODES: SERIAL_ECHO(extended_axis_codes[axis]); break;
case TMC_ENABLED: serialprintPGM(st.isEnabled() ? PSTR("true") : PSTR("false")); break; case TMC_ENABLED: serialprintPGM(st.isEnabled() ? PSTR("true") : PSTR("false")); break;
case TMC_CURRENT: SERIAL_ECHO(st.getCurrent()); break; case TMC_CURRENT: SERIAL_ECHO(st.getCurrent()); break;
case TMC_RMS_CURRENT: MYSERIAL0.print(st.rms_current()); break; case TMC_RMS_CURRENT: SERIAL_PROTOCOL(st.rms_current()); break;
case TMC_MAX_CURRENT: SERIAL_PRINT((float)st.rms_current() * 1.41, 0); break; case TMC_MAX_CURRENT: SERIAL_PRINT((float)st.rms_current() * 1.41, 0); break;
case TMC_IRUN: case TMC_IRUN:
SERIAL_PRINT(st.irun(), DEC); SERIAL_PRINT(st.irun(), DEC);

View file

@ -132,18 +132,30 @@ void GcodeSuite::M912() {
if (parser.seen(axis_codes[P##_AXIS])) tmc_set_sgt(stepper##Q, extended_axis_codes[TMC_##Q], parser.value_int()); \ if (parser.seen(axis_codes[P##_AXIS])) tmc_set_sgt(stepper##Q, extended_axis_codes[TMC_##Q], parser.value_int()); \
else tmc_get_sgt(stepper##Q, extended_axis_codes[TMC_##Q]); } while(0) else tmc_get_sgt(stepper##Q, extended_axis_codes[TMC_##Q]); } while(0)
#ifdef X_HOMING_SENSITIVITY
#if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) #if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS)
TMC_SET_GET_SGT(X,X); TMC_SET_GET_SGT(X,X);
#endif #endif
#if ENABLED(X2_IS_TMC2130) #if ENABLED(X2_IS_TMC2130)
TMC_SET_GET_SGT(X,X2); TMC_SET_GET_SGT(X,X2);
#endif #endif
#endif
#ifdef Y_HOMING_SENSITIVITY
#if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) #if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS)
TMC_SET_GET_SGT(Y,Y); TMC_SET_GET_SGT(Y,Y);
#endif #endif
#if ENABLED(Y2_IS_TMC2130) #if ENABLED(Y2_IS_TMC2130)
TMC_SET_GET_SGT(Y,Y2); TMC_SET_GET_SGT(Y,Y2);
#endif #endif
#endif
#ifdef Z_HOMING_SENSITIVITY
#if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS)
TMC_SET_GET_SGT(Z,Z);
#endif
#if ENABLED(Z2_IS_TMC2130)
TMC_SET_GET_SGT(Z,Z2);
#endif
#endif
} }
#endif // SENSORLESS_HOMING #endif // SENSORLESS_HOMING

View file

@ -693,6 +693,11 @@
#define E3_IS_TRINAMIC (ENABLED(E3_IS_TMC2130) || ENABLED(E3_IS_TMC2208)) #define E3_IS_TRINAMIC (ENABLED(E3_IS_TMC2130) || ENABLED(E3_IS_TMC2208))
#define E4_IS_TRINAMIC (ENABLED(E4_IS_TMC2130) || ENABLED(E4_IS_TMC2208)) #define E4_IS_TRINAMIC (ENABLED(E4_IS_TMC2130) || ENABLED(E4_IS_TMC2208))
// Disable Z axis sensorless homing if a probe is used to home the Z axis
#if ENABLED(SENSORLESS_HOMING) && HOMING_Z_WITH_PROBE
#undef Z_HOMING_SENSITIVITY
#endif
// Endstops and bed probe // Endstops and bed probe
#define HAS_X_MIN (PIN_EXISTS(X_MIN) && !IS_X2_ENDSTOP(X,MIN) && !IS_Y2_ENDSTOP(X,MIN) && !IS_Z2_OR_PROBE(X,MIN)) #define HAS_X_MIN (PIN_EXISTS(X_MIN) && !IS_X2_ENDSTOP(X,MIN) && !IS_Y2_ENDSTOP(X,MIN) && !IS_Z2_OR_PROBE(X,MIN))
#define HAS_X_MAX (PIN_EXISTS(X_MAX) && !IS_X2_ENDSTOP(X,MAX) && !IS_Y2_ENDSTOP(X,MAX) && !IS_Z2_OR_PROBE(X,MAX)) #define HAS_X_MAX (PIN_EXISTS(X_MAX) && !IS_X2_ENDSTOP(X,MAX) && !IS_Y2_ENDSTOP(X,MAX) && !IS_Z2_OR_PROBE(X,MAX))

View file

@ -1495,6 +1495,14 @@ static_assert(1 >= 0
#error "E4_CS_PIN is required for E4_IS_TMC2130. Define E4_CS_PIN in Configuration_adv.h." #error "E4_CS_PIN is required for E4_IS_TMC2130. Define E4_CS_PIN in Configuration_adv.h."
#endif #endif
// Require STEALTHCHOP for SENSORLESS_HOMING on DELTA as the transition from spreadCycle to stealthChop
// is necessary in order to reset the stallGuard indication between the initial movement of all three
// towers to +Z and the individual homing of each tower. This restriction can be removed once a means of
// clearing the stallGuard activated status is found.
#if ENABLED(SENSORLESS_HOMING) && ENABLED(DELTA) && !ENABLED(STEALTHCHOP)
#error "SENSORLESS_HOMING on DELTA currently requires STEALTHCHOP."
#endif
#elif ENABLED(SENSORLESS_HOMING) #elif ENABLED(SENSORLESS_HOMING)
#error "SENSORLESS_HOMING requires TMC2130 stepper drivers." #error "SENSORLESS_HOMING requires TMC2130 stepper drivers."

View file

@ -37,7 +37,7 @@
*/ */
// Change EEPROM version if the structure changes // Change EEPROM version if the structure changes
#define EEPROM_VERSION "V50" #define EEPROM_VERSION "V51"
#define EEPROM_OFFSET 100 #define EEPROM_OFFSET 100
// Check the integrity of data offsets. // Check the integrity of data offsets.
@ -216,7 +216,7 @@ typedef struct SettingsDataStruct {
// HAS_TRINAMIC // HAS_TRINAMIC
// //
uint16_t tmc_stepper_current[11]; // M906 X Y Z X2 Y2 Z2 E0 E1 E2 E3 E4 uint16_t tmc_stepper_current[11]; // M906 X Y Z X2 Y2 Z2 E0 E1 E2 E3 E4
int16_t tmc_sgt[2]; // M914 X Y int16_t tmc_sgt[3]; // M914 X Y Z
// //
// LIN_ADVANCE // LIN_ADVANCE
@ -720,21 +720,27 @@ void MarlinSettings::postprocess() {
// //
int16_t thrs; int16_t thrs;
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#if ENABLED(X_IS_TMC2130) #if ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY)
thrs = stepperX.sgt(); thrs = stepperX.sgt();
#else #else
thrs = 0; thrs = 0;
#endif #endif
EEPROM_WRITE(thrs); EEPROM_WRITE(thrs);
#if ENABLED(Y_IS_TMC2130) #if ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY)
thrs = stepperY.sgt(); thrs = stepperY.sgt();
#else #else
thrs = 0; thrs = 0;
#endif #endif
EEPROM_WRITE(thrs); EEPROM_WRITE(thrs);
#if ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY)
thrs = stepperZ.sgt();
#else
thrs = 0;
#endif
EEPROM_WRITE(thrs);
#else #else
thrs = 0; thrs = 0;
for (uint8_t q = 2; q--;) EEPROM_WRITE(thrs); for (uint8_t q = 3; q--;) EEPROM_WRITE(thrs);
#endif #endif
// //
@ -1251,6 +1257,7 @@ void MarlinSettings::postprocess() {
int16_t thrs; int16_t thrs;
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
EEPROM_READ(thrs); EEPROM_READ(thrs);
#ifdef X_HOMING_SENSITIVITY
if (!validating) { if (!validating) {
#if ENABLED(X_IS_TMC2130) #if ENABLED(X_IS_TMC2130)
stepperX.sgt(thrs); stepperX.sgt(thrs);
@ -1259,7 +1266,9 @@ void MarlinSettings::postprocess() {
stepperX2.sgt(thrs); stepperX2.sgt(thrs);
#endif #endif
} }
#endif
EEPROM_READ(thrs); EEPROM_READ(thrs);
#ifdef Y_HOMING_SENSITIVITY
if (!validating) { if (!validating) {
#if ENABLED(Y_IS_TMC2130) #if ENABLED(Y_IS_TMC2130)
stepperY.sgt(thrs); stepperY.sgt(thrs);
@ -1268,8 +1277,20 @@ void MarlinSettings::postprocess() {
stepperY2.sgt(thrs); stepperY2.sgt(thrs);
#endif #endif
} }
#endif
EEPROM_READ(thrs);
#ifdef Z_HOMING_SENSITIVITY
if (!validating) {
#if ENABLED(Z_IS_TMC2130)
stepperZ.sgt(thrs);
#endif
#if ENABLED(Z2_IS_TMC2130)
stepperZ2.sgt(thrs);
#endif
}
#endif
#else #else
for (uint8_t q = 0; q < 2; q++) EEPROM_READ(thrs); for (uint8_t q = 0; q < 3; q++) EEPROM_READ(thrs);
#endif #endif
// //
@ -1780,12 +1801,15 @@ void MarlinSettings::reset(
#endif #endif
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#ifdef X_HOMING_SENSITIVITY
#if ENABLED(X_IS_TMC2130) #if ENABLED(X_IS_TMC2130)
stepperX.sgt(X_HOMING_SENSITIVITY); stepperX.sgt(X_HOMING_SENSITIVITY);
#endif #endif
#if ENABLED(X2_IS_TMC2130) #if ENABLED(X2_IS_TMC2130)
stepperX2.sgt(X_HOMING_SENSITIVITY); stepperX2.sgt(X_HOMING_SENSITIVITY);
#endif #endif
#endif
#ifdef Y_HOMING_SENSITIVITY
#if ENABLED(Y_IS_TMC2130) #if ENABLED(Y_IS_TMC2130)
stepperY.sgt(Y_HOMING_SENSITIVITY); stepperY.sgt(Y_HOMING_SENSITIVITY);
#endif #endif
@ -1793,6 +1817,15 @@ void MarlinSettings::reset(
stepperY2.sgt(Y_HOMING_SENSITIVITY); stepperY2.sgt(Y_HOMING_SENSITIVITY);
#endif #endif
#endif #endif
#ifdef Z_HOMING_SENSITIVITY
#if ENABLED(Z_IS_TMC2130)
stepperZ.sgt(Z_HOMING_SENSITIVITY);
#endif
#if ENABLED(Z2_IS_TMC2130)
stepperZ2.sgt(Z_HOMING_SENSITIVITY);
#endif
#endif
#endif
#if ENABLED(LIN_ADVANCE) #if ENABLED(LIN_ADVANCE)
planner.extruder_advance_k = LIN_ADVANCE_K; planner.extruder_advance_k = LIN_ADVANCE_K;
@ -2336,18 +2369,30 @@ void MarlinSettings::reset(
} }
CONFIG_ECHO_START; CONFIG_ECHO_START;
SERIAL_ECHOPGM_P(port, " M914"); SERIAL_ECHOPGM_P(port, " M914");
#ifdef X_HOMING_SENSITIVITY
#if ENABLED(X_IS_TMC2130) #if ENABLED(X_IS_TMC2130)
SERIAL_ECHOPAIR_P(port, " X", stepperX.sgt()); SERIAL_ECHOPAIR_P(port, " X", stepperX.sgt());
#endif #endif
#if ENABLED(X2_IS_TMC2130) #if ENABLED(X2_IS_TMC2130)
SERIAL_ECHOPAIR_P(port, " X2 ", stepperX2.sgt()); SERIAL_ECHOPAIR_P(port, " X2 ", stepperX2.sgt());
#endif #endif
#endif
#ifdef Y_HOMING_SENSITIVITY
#if ENABLED(Y_IS_TMC2130) #if ENABLED(Y_IS_TMC2130)
SERIAL_ECHOPAIR_P(port, " Y", stepperY.sgt()); SERIAL_ECHOPAIR_P(port, " Y", stepperY.sgt());
#endif #endif
#if ENABLED(X2_IS_TMC2130) #if ENABLED(Y2_IS_TMC2130)
SERIAL_ECHOPAIR_P(port, " Y2 ", stepperY2.sgt()); SERIAL_ECHOPAIR_P(port, " Y2 ", stepperY2.sgt());
#endif #endif
#endif
#ifdef Z_HOMING_SENSITIVITY
#if ENABLED(Z_IS_TMC2130)
SERIAL_ECHOPAIR_P(port, " Z ", stepperZ.sgt());
#endif
#if ENABLED(Z2_IS_TMC2130)
SERIAL_ECHOPAIR_P(port, " Z2 ", stepperZ2.sgt());
#endif
#endif
SERIAL_EOL_P(port); SERIAL_EOL_P(port);
#endif #endif

View file

@ -37,6 +37,10 @@
#include "../lcd/ultralcd.h" #include "../lcd/ultralcd.h"
#include "../Marlin.h" #include "../Marlin.h"
#if ENABLED(SENSORLESS_HOMING)
#include "../feature/tmc_util.h"
#endif
// Initialized by settings.load() // Initialized by settings.load()
float delta_height, float delta_height,
delta_endstop_adj[ABC] = { 0 }, delta_endstop_adj[ABC] = { 0 },
@ -226,12 +230,38 @@ bool home_delta() {
ZERO(current_position); ZERO(current_position);
sync_plan_position(); sync_plan_position();
// Disable stealthChop if used. Enable diag1 pin on driver.
#if ENABLED(SENSORLESS_HOMING)
#if ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY)
tmc_sensorless_homing(stepperX);
#endif
#if ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY)
tmc_sensorless_homing(stepperY);
#endif
#if ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY)
tmc_sensorless_homing(stepperZ);
#endif
#endif
// Move all carriages together linearly until an endstop is hit. // Move all carriages together linearly until an endstop is hit.
current_position[X_AXIS] = current_position[Y_AXIS] = current_position[Z_AXIS] = (delta_height + 10); current_position[X_AXIS] = current_position[Y_AXIS] = current_position[Z_AXIS] = (delta_height + 10);
feedrate_mm_s = homing_feedrate(X_AXIS); feedrate_mm_s = homing_feedrate(X_AXIS);
line_to_current_position(); line_to_current_position();
stepper.synchronize(); stepper.synchronize();
// Re-enable stealthChop if used. Disable diag1 pin on driver.
#if ENABLED(SENSORLESS_HOMING)
#if ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY)
tmc_sensorless_homing(stepperX, false);
#endif
#if ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY)
tmc_sensorless_homing(stepperY, false);
#endif
#if ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY)
tmc_sensorless_homing(stepperZ, false);
#endif
#endif
// If an endstop was not hit, then damage can occur if homing is continued. // If an endstop was not hit, then damage can occur if homing is continued.
// This can occur if the delta height not set correctly. // This can occur if the delta height not set correctly.
if (!(Endstops::endstop_hit_bits & (_BV(X_MAX) | _BV(Y_MAX) | _BV(Z_MAX)))) { if (!(Endstops::endstop_hit_bits & (_BV(X_MAX) | _BV(Y_MAX) | _BV(Z_MAX)))) {

View file

@ -990,6 +990,19 @@ static void do_homing_move(const AxisEnum axis, const float distance, const floa
if (axis == Z_AXIS) probing_pause(true); if (axis == Z_AXIS) probing_pause(true);
#endif #endif
// Disable stealthChop if used. Enable diag1 pin on driver.
#if ENABLED(SENSORLESS_HOMING)
#if ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY)
if (axis == X_AXIS) tmc_sensorless_homing(stepperX);
#endif
#if ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY)
if (axis == Y_AXIS) tmc_sensorless_homing(stepperY);
#endif
#if ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY)
if (axis == Z_AXIS) tmc_sensorless_homing(stepperZ);
#endif
#endif
// Tell the planner the axis is at 0 // Tell the planner the axis is at 0
current_position[axis] = 0; current_position[axis] = 0;
@ -1016,6 +1029,19 @@ static void do_homing_move(const AxisEnum axis, const float distance, const floa
endstops.hit_on_purpose(); endstops.hit_on_purpose();
// Re-enable stealthChop if used. Disable diag1 pin on driver.
#if ENABLED(SENSORLESS_HOMING)
#if ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY)
if (axis == X_AXIS) tmc_sensorless_homing(stepperX, false);
#endif
#if ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY)
if (axis == Y_AXIS) tmc_sensorless_homing(stepperY, false);
#endif
#if ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY)
if (axis == Z_AXIS) tmc_sensorless_homing(stepperZ, false);
#endif
#endif
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) { if (DEBUGGING(LEVELING)) {
SERIAL_ECHOPAIR("<<< do_homing_move(", axis_codes[axis]); SERIAL_ECHOPAIR("<<< do_homing_move(", axis_codes[axis]);
@ -1168,16 +1194,6 @@ void homeaxis(const AxisEnum axis) {
if (axis == Z_AXIS) stepper.set_homing_flag_z(true); if (axis == Z_AXIS) stepper.set_homing_flag_z(true);
#endif #endif
// Disable stealthChop if used. Enable diag1 pin on driver.
#if ENABLED(SENSORLESS_HOMING)
#if ENABLED(X_IS_TMC2130)
if (axis == X_AXIS) tmc_sensorless_homing(stepperX);
#endif
#if ENABLED(Y_IS_TMC2130)
if (axis == Y_AXIS) tmc_sensorless_homing(stepperY);
#endif
#endif
// Fast move towards endstop until triggered // Fast move towards endstop until triggered
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Home 1 Fast:"); if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Home 1 Fast:");
@ -1278,16 +1294,6 @@ void homeaxis(const AxisEnum axis) {
#endif #endif
// Re-enable stealthChop if used. Disable diag1 pin on driver.
#if ENABLED(SENSORLESS_HOMING)
#if ENABLED(X_IS_TMC2130)
if (axis == X_AXIS) tmc_sensorless_homing(stepperX, false);
#endif
#if ENABLED(Y_IS_TMC2130)
if (axis == Y_AXIS) tmc_sensorless_homing(stepperY, false);
#endif
#endif
// Put away the Z probe // Put away the Z probe
#if HOMING_Z_WITH_PROBE #if HOMING_Z_WITH_PROBE
if (axis == Z_AXIS && STOW_PROBE()) return; if (axis == Z_AXIS && STOW_PROBE()) return;