Add Sensorless Homing current (#15690)

2.0.x
danym21 5 years ago committed by Scott Lahteine
parent 86d0bc1af5
commit 28e1614c2e

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -230,6 +230,7 @@ void GcodeSuite::G28(const bool always_home_all) {
} }
#endif #endif
// Home (O)nly if position is unknown
if (!homing_needed() && parser.boolval('O')) { if (!homing_needed() && parser.boolval('O')) {
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> homing not needed, skip\n<<< G28"); if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> homing not needed, skip\n<<< G28");
return; return;
@ -256,6 +257,40 @@ void GcodeSuite::G28(const bool always_home_all) {
workspace_plane = PLANE_XY; workspace_plane = PLANE_XY;
#endif #endif
#define HAS_CURRENT_HOME(N) (defined(N##_CURRENT_HOME) && N##_CURRENT_HOME != N##_CURRENT)
#define HAS_HOMING_CURRENT (HAS_CURRENT_HOME(X) || HAS_CURRENT_HOME(X2) || HAS_CURRENT_HOME(Y) || HAS_CURRENT_HOME(Y2))
#if HAS_HOMING_CURRENT
auto debug_current = [](const char * const s, const int16_t a, const int16_t b){
DEBUG_ECHO(s); DEBUG_ECHOLNPGM(" current: ", a, " -> ", b);
};
#if HAS_CURRENT_HOME(X)
const int16_t tmc_save_current_X = stepperX.getMilliamps();
stepperX.rms_current(X_CURRENT_HOME);
if (DEBUGGING(LEVELING)) debug_current("X", tmc_save_current_X, X_CURRENT_HOME);
#endif
#if HAS_CURRENT_HOME(X2)
const int16_t tmc_save_current_X2 = stepperX2.getMilliamps();
stepperX2.rms_current(X2_CURRENT_HOME);
if (DEBUGGING(LEVELING)) debug_current("X2", tmc_save_current_X2, X2_CURRENT_HOME);
#endif
#if HAS_CURRENT_HOME(Y)
const int16_t tmc_save_current_Y = stepperY.getMilliamps();
stepperY.rms_current(Y_CURRENT_HOME);
if (DEBUGGING(LEVELING)) debug_current("Y", tmc_save_current_Y, Y_CURRENT_HOME);
#endif
#if HAS_CURRENT_HOME(Y2)
const int16_t tmc_save_current_Y2 = stepperY2.getMilliamps();
stepperY2.rms_current(Y2_CURRENT_HOME);
if (DEBUGGING(LEVELING)) debug_current("Y2", tmc_save_current_Y2, Y2_CURRENT_HOME);
#endif
#endif
#if BOTH(STEALTHCHOP_XY, HOME_USING_SPREADCYCLE)
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Set XY to spreadCycle...");
process_subcommands_now_P(PSTR("M569S0XY"));
#endif
#if ENABLED(IMPROVE_HOMING_RELIABILITY) #if ENABLED(IMPROVE_HOMING_RELIABILITY)
slow_homing_t slow_homing = begin_slow_homing(); slow_homing_t slow_homing = begin_slow_homing();
#endif #endif
@ -466,6 +501,27 @@ void GcodeSuite::G28(const bool always_home_all) {
tool_change(old_tool_index, NO_FETCH); tool_change(old_tool_index, NO_FETCH);
#endif #endif
#if HAS_HOMING_CURRENT
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Restore driver current...");
#if HAS_CURRENT_HOME(X)
stepperX.rms_current(tmc_save_current_X);
#endif
#if HAS_CURRENT_HOME(X2)
stepperX2.rms_current(tmc_save_current_X2);
#endif
#if HAS_CURRENT_HOME(Y)
stepperY.rms_current(tmc_save_current_Y);
#endif
#if HAS_CURRENT_HOME(Y2)
stepperY2.rms_current(tmc_save_current_Y2);
#endif
#endif
#if BOTH(STEALTHCHOP_XY, HOME_USING_SPREADCYCLE)
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("Set XY to StealthChop...");
process_subcommands_now_P(PSTR("M569S1XY"));
#endif
ui.refresh(); ui.refresh();
report_current_position(); report_current_position();

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1827,94 +1827,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2088,6 +2095,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1826,94 +1826,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2087,6 +2094,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1826,94 +1826,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2087,6 +2094,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1830,94 +1830,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2091,6 +2098,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 650 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 650 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 650 #define Y_CURRENT 650
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 580 #define Z_CURRENT 580
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 650 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 650 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 650 #define Y_CURRENT 650
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 580 #define Z_CURRENT 580
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 580 #define Y_CURRENT 580
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 580 #define Z_CURRENT 580
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 580 #define Y_CURRENT 580
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 580 #define Z_CURRENT 580
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 650 #define Y_CURRENT 650
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 580 #define Z_CURRENT 580
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 650 #define Y_CURRENT 650
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 500 #define Y_CURRENT 500
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 500 #define Y_CURRENT 500
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 500 #define Y_CURRENT 500
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 700 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 500 #define Y_CURRENT 500
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1821,94 +1821,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2082,6 +2089,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1817,94 +1817,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2078,6 +2085,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1826,94 +1826,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2087,6 +2094,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1821,94 +1821,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2082,6 +2089,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1801,94 +1801,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2062,6 +2069,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1827,94 +1827,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2088,6 +2095,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1822,94 +1822,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2083,6 +2090,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1827,94 +1827,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2088,6 +2095,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1821,94 +1821,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2082,6 +2089,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1820,94 +1820,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2081,6 +2088,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1832,94 +1832,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2093,6 +2100,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1821,94 +1821,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2082,6 +2089,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1749,94 +1749,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS 0 // 0 - Not chained, 1 - MCU MOSI connected, 2 - next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS 0 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS 0 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS 0 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS 0 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS 0 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS 0 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS 0 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS 0 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS 0 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS 0 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS 0 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS 0 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2010,6 +2017,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1819,94 +1819,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2080,6 +2087,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1823,94 +1823,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2073,6 +2080,9 @@
#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY
#endif #endif
/** /**

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2074,6 +2081,9 @@
#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY #define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY
#endif #endif
/** /**

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

@ -1824,94 +1824,101 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X) #if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_MICROSTEPS 16 // 0..256 #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_RSENSE 0.11 #define X_MICROSTEPS 16 // 0..256
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ... #define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif #endif
#if AXIS_IS_TMC(X2) #if AXIS_IS_TMC(X2)
#define X2_CURRENT 800 #define X2_CURRENT 800
#define X2_MICROSTEPS 16 #define X2_CURRENT_HOME X2_CURRENT
#define X2_RSENSE 0.11 #define X2_MICROSTEPS 16
#define X2_CHAIN_POS -1 #define X2_RSENSE 0.11
#define X2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y) #if AXIS_IS_TMC(Y)
#define Y_CURRENT 800 #define Y_CURRENT 800
#define Y_MICROSTEPS 16 #define Y_CURRENT_HOME Y_CURRENT
#define Y_RSENSE 0.11 #define Y_MICROSTEPS 16
#define Y_CHAIN_POS -1 #define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Y2) #if AXIS_IS_TMC(Y2)
#define Y2_CURRENT 800 #define Y2_CURRENT 800
#define Y2_MICROSTEPS 16 #define Y2_CURRENT_HOME Y2_CURRENT
#define Y2_RSENSE 0.11 #define Y2_MICROSTEPS 16
#define Y2_CHAIN_POS -1 #define Y2_RSENSE 0.11
#define Y2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z) #if AXIS_IS_TMC(Z)
#define Z_CURRENT 800 #define Z_CURRENT 800
#define Z_MICROSTEPS 16 #define Z_CURRENT_HOME Z_CURRENT
#define Z_RSENSE 0.11 #define Z_MICROSTEPS 16
#define Z_CHAIN_POS -1 #define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z2) #if AXIS_IS_TMC(Z2)
#define Z2_CURRENT 800 #define Z2_CURRENT 800
#define Z2_MICROSTEPS 16 #define Z2_CURRENT_HOME Z2_CURRENT
#define Z2_RSENSE 0.11 #define Z2_MICROSTEPS 16
#define Z2_CHAIN_POS -1 #define Z2_RSENSE 0.11
#define Z2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(Z3) #if AXIS_IS_TMC(Z3)
#define Z3_CURRENT 800 #define Z3_CURRENT 800
#define Z3_MICROSTEPS 16 #define Z3_CURRENT_HOME Z3_CURRENT
#define Z3_RSENSE 0.11 #define Z3_MICROSTEPS 16
#define Z3_CHAIN_POS -1 #define Z3_RSENSE 0.11
#define Z3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E0) #if AXIS_IS_TMC(E0)
#define E0_CURRENT 800 #define E0_CURRENT 800
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E1) #if AXIS_IS_TMC(E1)
#define E1_CURRENT 800 #define E1_CURRENT 800
#define E1_MICROSTEPS 16 #define E1_MICROSTEPS 16
#define E1_RSENSE 0.11 #define E1_RSENSE 0.11
#define E1_CHAIN_POS -1 #define E1_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E2) #if AXIS_IS_TMC(E2)
#define E2_CURRENT 800 #define E2_CURRENT 800
#define E2_MICROSTEPS 16 #define E2_MICROSTEPS 16
#define E2_RSENSE 0.11 #define E2_RSENSE 0.11
#define E2_CHAIN_POS -1 #define E2_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E3) #if AXIS_IS_TMC(E3)
#define E3_CURRENT 800 #define E3_CURRENT 800
#define E3_MICROSTEPS 16 #define E3_MICROSTEPS 16
#define E3_RSENSE 0.11 #define E3_RSENSE 0.11
#define E3_CHAIN_POS -1 #define E3_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E4) #if AXIS_IS_TMC(E4)
#define E4_CURRENT 800 #define E4_CURRENT 800
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#define E4_RSENSE 0.11 #define E4_RSENSE 0.11
#define E4_CHAIN_POS -1 #define E4_CHAIN_POS -1
#endif #endif
#if AXIS_IS_TMC(E5) #if AXIS_IS_TMC(E5)
#define E5_CURRENT 800 #define E5_CURRENT 800
#define E5_MICROSTEPS 16 #define E5_MICROSTEPS 16
#define E5_RSENSE 0.11 #define E5_RSENSE 0.11
#define E5_CHAIN_POS -1 #define E5_CHAIN_POS -1
#endif #endif
/** /**
@ -2085,6 +2092,7 @@
#define Y_STALL_SENSITIVITY 8 #define Y_STALL_SENSITIVITY 8
//#define Z_STALL_SENSITIVITY 8 //#define Z_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only //#define SPI_ENDSTOPS // TMC2130 only
//#define HOME_USING_SPREADCYCLE
//#define IMPROVE_HOMING_RELIABILITY //#define IMPROVE_HOMING_RELIABILITY
#endif #endif

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save