mirror of
https://github.com/MarlinFirmware/Configurations.git
synced 2026-01-30 21:00:42 -07:00
parent
65b9e3f559
commit
fea3b6989c
295 changed files with 16127 additions and 55085 deletions
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
@ -3350,7 +3218,7 @@
|
|||
*/
|
||||
#define TMC_ADV() { }
|
||||
|
||||
#endif // HAS_TRINAMIC_CONFIG
|
||||
#endif // HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
// @section i2cbus
|
||||
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2694,167 +2694,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2864,17 +2730,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3067,7 +2933,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3169,15 +3035,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2686,167 +2686,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2856,17 +2722,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2876,7 +2742,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2886,7 +2752,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2896,7 +2762,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2906,7 +2772,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2916,7 +2782,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2926,7 +2792,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2936,7 +2802,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2946,7 +2812,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2956,7 +2822,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2966,7 +2832,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2976,7 +2842,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2986,7 +2852,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2996,7 +2862,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3005,7 +2871,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3014,7 +2880,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3023,7 +2889,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3032,7 +2898,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3041,7 +2907,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3050,7 +2916,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3059,7 +2925,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3161,15 +3027,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 1400
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2689,167 +2689,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2859,17 +2725,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2879,7 +2745,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2889,7 +2755,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2899,7 +2765,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2909,7 +2775,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2919,7 +2785,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2929,7 +2795,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2939,7 +2805,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2949,7 +2815,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2959,7 +2825,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2969,7 +2835,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2979,7 +2845,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2989,7 +2855,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2999,7 +2865,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3008,7 +2874,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3017,7 +2883,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3026,7 +2892,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3035,7 +2901,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3044,7 +2910,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3053,7 +2919,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3062,7 +2928,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3164,15 +3030,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 950
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 950
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 950
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 1050 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME 350 // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.15
|
||||
#define X_RSENSE 0.15 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 1150
|
||||
#define Y_CURRENT_HOME 350
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 1050
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT Z_CURRENT
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.15
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2692,167 +2692,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2862,17 +2728,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2882,7 +2748,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2892,7 +2758,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2902,7 +2768,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2912,7 +2778,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2922,7 +2788,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2932,7 +2798,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2942,7 +2808,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2952,7 +2818,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2962,7 +2828,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2972,7 +2838,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2982,7 +2848,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2992,7 +2858,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -3002,7 +2868,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3011,7 +2877,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3020,7 +2886,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3029,7 +2895,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3038,7 +2904,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3047,7 +2913,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3056,7 +2922,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3065,7 +2931,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3167,15 +3033,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 1000
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.1
|
||||
#define X_RSENSE 0.1 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 1000
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 1000
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 4
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 1000
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.1
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 700
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2690,167 +2690,33 @@
|
|||
#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2860,17 +2726,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 730 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2880,7 +2746,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 730
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2890,7 +2756,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2900,7 +2766,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 850
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2910,7 +2776,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 850
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2920,7 +2786,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2930,7 +2796,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2940,7 +2806,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2950,7 +2816,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2960,7 +2826,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2970,7 +2836,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2980,7 +2846,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2990,7 +2856,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -3000,7 +2866,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 730
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3009,7 +2875,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 730
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3018,7 +2884,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3027,7 +2893,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3036,7 +2902,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3045,7 +2911,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3054,7 +2920,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3063,7 +2929,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
|
|||
|
|
@ -2692,167 +2692,33 @@
|
|||
#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2862,17 +2728,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 730 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2882,7 +2748,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 730
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2892,7 +2758,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2902,7 +2768,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 850
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2912,7 +2778,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 850
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2922,7 +2788,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2932,7 +2798,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2942,7 +2808,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2952,7 +2818,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2962,7 +2828,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2972,7 +2838,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2982,7 +2848,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2992,7 +2858,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -3002,7 +2868,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 730
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3011,7 +2877,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 730
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3020,7 +2886,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3029,7 +2895,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3038,7 +2904,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3047,7 +2913,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3056,7 +2922,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3065,7 +2931,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME (Y_CURRENT/2)
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 650 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 650
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 650 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.062
|
||||
#define X_RSENSE 0.0 // Multiplied x1000 for TMC26X62
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 650
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.062
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.062
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.062
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 650 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.062
|
||||
#define X_RSENSE 0.0 // Multiplied x1000 for TMC26X62
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 650
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.062
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.062
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.062
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME (Y_CURRENT/2)
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 650 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 650
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME (Y_CURRENT/2)
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME (Y_CURRENT/2)
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT / 2 // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT / 2
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT / 2
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2680,167 +2680,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2850,17 +2716,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2870,7 +2736,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2880,7 +2746,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2890,7 +2756,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2900,7 +2766,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2910,7 +2776,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2920,7 +2786,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2930,7 +2796,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2940,7 +2806,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2950,7 +2816,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2960,7 +2826,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2970,7 +2836,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2980,7 +2846,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2990,7 +2856,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -2999,7 +2865,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3008,7 +2874,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3017,7 +2883,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3026,7 +2892,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3035,7 +2901,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3044,7 +2910,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3053,7 +2919,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3155,15 +3021,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 700
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 700
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2685,167 +2685,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2855,17 +2721,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2875,7 +2741,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 800
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2885,7 +2751,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2895,7 +2761,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 800
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2905,7 +2771,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2915,7 +2781,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2925,7 +2791,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2935,7 +2801,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2945,7 +2811,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2955,7 +2821,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2965,7 +2831,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2975,7 +2841,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2985,7 +2851,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2995,7 +2861,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 800
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3004,7 +2870,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3013,7 +2879,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3022,7 +2888,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3031,7 +2897,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3040,7 +2906,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3049,7 +2915,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3058,7 +2924,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3160,15 +3026,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME (Y_CURRENT/2)
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME (Y_CURRENT/2)
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 650
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME (Y_CURRENT/2)
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT Z_CURRENT
|
||||
#define Z2_CURRENT_HOME Z_CURRENT_HOME
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 650
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME (Y_CURRENT/2)
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 650
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 530 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 530
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 530
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 690
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
|
|
@ -2684,167 +2684,33 @@
|
|||
//#define FILAMENT_UNLOAD_ALL_EXTRUDERS // Allow M702 to unload all extruders above a minimum target temp (as set by M302)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC26X Stepper Driver options
|
||||
*
|
||||
* The TMC26XStepper library is required for this stepper driver.
|
||||
* https://github.com/trinamic/TMC26XStepper
|
||||
* @section tmc/tmc26x
|
||||
*/
|
||||
#if HAS_DRIVER(TMC26X)
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X(TMC26X)
|
||||
#define X_MAX_CURRENT 1000 // (mA)
|
||||
#define X_SENSE_RESISTOR 91 // (mOhms)
|
||||
#define X_MICROSTEPS 16 // Number of microsteps
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC26X)
|
||||
#define X2_MAX_CURRENT 1000
|
||||
#define X2_SENSE_RESISTOR 91
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC26X)
|
||||
#define Y_MAX_CURRENT 1000
|
||||
#define Y_SENSE_RESISTOR 91
|
||||
#define Y_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC26X)
|
||||
#define Y2_MAX_CURRENT 1000
|
||||
#define Y2_SENSE_RESISTOR 91
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC26X)
|
||||
#define Z_MAX_CURRENT 1000
|
||||
#define Z_SENSE_RESISTOR 91
|
||||
#define Z_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC26X)
|
||||
#define Z2_MAX_CURRENT 1000
|
||||
#define Z2_SENSE_RESISTOR 91
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC26X)
|
||||
#define Z3_MAX_CURRENT 1000
|
||||
#define Z3_SENSE_RESISTOR 91
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_Z4(TMC26X)
|
||||
#define Z4_MAX_CURRENT 1000
|
||||
#define Z4_SENSE_RESISTOR 91
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_I(TMC26X)
|
||||
#define I_MAX_CURRENT 1000
|
||||
#define I_SENSE_RESISTOR 91
|
||||
#define I_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_J(TMC26X)
|
||||
#define J_MAX_CURRENT 1000
|
||||
#define J_SENSE_RESISTOR 91
|
||||
#define J_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_K(TMC26X)
|
||||
#define K_MAX_CURRENT 1000
|
||||
#define K_SENSE_RESISTOR 91
|
||||
#define K_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_U(TMC26X)
|
||||
#define U_MAX_CURRENT 1000
|
||||
#define U_SENSE_RESISTOR 91
|
||||
#define U_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_V(TMC26X)
|
||||
#define V_MAX_CURRENT 1000
|
||||
#define V_SENSE_RESISTOR 91
|
||||
#define V_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_W(TMC26X)
|
||||
#define W_MAX_CURRENT 1000
|
||||
#define W_SENSE_RESISTOR 91
|
||||
#define W_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC26X)
|
||||
#define E0_MAX_CURRENT 1000
|
||||
#define E0_SENSE_RESISTOR 91
|
||||
#define E0_MICROSTEPS 16
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC26X)
|
||||
#define E1_MAX_CURRENT 1000
|
||||
#define E1_SENSE_RESISTOR 91
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC26X)
|
||||
#define E2_MAX_CURRENT 1000
|
||||
#define E2_SENSE_RESISTOR 91
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC26X)
|
||||
#define E3_MAX_CURRENT 1000
|
||||
#define E3_SENSE_RESISTOR 91
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC26X)
|
||||
#define E4_MAX_CURRENT 1000
|
||||
#define E4_SENSE_RESISTOR 91
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC26X)
|
||||
#define E5_MAX_CURRENT 1000
|
||||
#define E5_SENSE_RESISTOR 91
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E6(TMC26X)
|
||||
#define E6_MAX_CURRENT 1000
|
||||
#define E6_SENSE_RESISTOR 91
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#if AXIS_DRIVER_TYPE_E7(TMC26X)
|
||||
#define E7_MAX_CURRENT 1000
|
||||
#define E7_SENSE_RESISTOR 91
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#endif
|
||||
|
||||
#endif // TMC26X
|
||||
// @section tmc_smart
|
||||
|
||||
/**
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
|
||||
* connect your SPI pins to the hardware SPI interface on your board and define
|
||||
* the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
|
||||
* pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
|
||||
* You may also use software SPI if you wish to use general purpose IO pins.
|
||||
* Trinamic Smart Drivers
|
||||
*
|
||||
* To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
|
||||
* to the driver side PDN_UART pin with a 1K resistor.
|
||||
* To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
|
||||
* a resistor.
|
||||
* The drivers can also be used with hardware serial.
|
||||
* To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode:
|
||||
* - Connect your SPI pins to the Hardware SPI interface on the board.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - Define the required Stepper CS pins in your `pins_MYBOARD.h` file.
|
||||
* (See the RAMPS pins, for example.)
|
||||
* - You can also use Software SPI with GPIO pins instead of Hardware SPI.
|
||||
*
|
||||
* To use TMC220x stepper drivers with Serial UART:
|
||||
* - Connect PDN_UART to the #_SERIAL_TX_PIN through a 1K resistor.
|
||||
* For reading capabilities also connect PDN_UART to #_SERIAL_RX_PIN with no resistor.
|
||||
* Some boards have simple jumper connections! See your board's documentation.
|
||||
* - These drivers can also be used with Hardware Serial.
|
||||
*
|
||||
* The TMC26XStepper library is required for TMC26X stepper drivers.
|
||||
* https://github.com/MarlinFirmware/TMC26XStepper
|
||||
*
|
||||
* The TMCStepper library is required for other TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
*
|
||||
* TMCStepper library is required to use TMC stepper drivers.
|
||||
* https://github.com/teemuatlut/TMCStepper
|
||||
* @section tmc/config
|
||||
*/
|
||||
#if HAS_TRINAMIC_CONFIG
|
||||
#if HAS_TRINAMIC_CONFIG || HAS_TMC26X
|
||||
|
||||
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
|
||||
|
||||
|
|
@ -2854,17 +2720,17 @@
|
|||
*/
|
||||
#define INTERPOLATE true
|
||||
|
||||
#if AXIS_IS_TMC(X)
|
||||
#if AXIS_IS_TMC_CONFIG(X)
|
||||
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
|
||||
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
|
||||
#define X_MICROSTEPS 16 // 0..256
|
||||
#define X_RSENSE 0.11
|
||||
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
|
||||
#define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
|
||||
//#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
|
||||
//#define X_HOLD_MULTIPLIER 0.5 // Enable to override 'HOLD_MULTIPLIER' for the X axis
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(X2)
|
||||
#if AXIS_IS_TMC_CONFIG(X2)
|
||||
#define X2_CURRENT 800
|
||||
#define X2_CURRENT_HOME X2_CURRENT
|
||||
#define X2_MICROSTEPS X_MICROSTEPS
|
||||
|
|
@ -2874,7 +2740,7 @@
|
|||
//#define X2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y)
|
||||
#if AXIS_IS_TMC_CONFIG(Y)
|
||||
#define Y_CURRENT 580
|
||||
#define Y_CURRENT_HOME Y_CURRENT
|
||||
#define Y_MICROSTEPS 16
|
||||
|
|
@ -2884,7 +2750,7 @@
|
|||
//#define Y_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Y2)
|
||||
#if AXIS_IS_TMC_CONFIG(Y2)
|
||||
#define Y2_CURRENT 800
|
||||
#define Y2_CURRENT_HOME Y2_CURRENT
|
||||
#define Y2_MICROSTEPS Y_MICROSTEPS
|
||||
|
|
@ -2894,7 +2760,7 @@
|
|||
//#define Y2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z)
|
||||
#if AXIS_IS_TMC_CONFIG(Z)
|
||||
#define Z_CURRENT 580
|
||||
#define Z_CURRENT_HOME Z_CURRENT
|
||||
#define Z_MICROSTEPS 16
|
||||
|
|
@ -2904,7 +2770,7 @@
|
|||
//#define Z_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z2)
|
||||
#if AXIS_IS_TMC_CONFIG(Z2)
|
||||
#define Z2_CURRENT 800
|
||||
#define Z2_CURRENT_HOME Z2_CURRENT
|
||||
#define Z2_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2914,7 +2780,7 @@
|
|||
//#define Z2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z3)
|
||||
#if AXIS_IS_TMC_CONFIG(Z3)
|
||||
#define Z3_CURRENT 800
|
||||
#define Z3_CURRENT_HOME Z3_CURRENT
|
||||
#define Z3_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2924,7 +2790,7 @@
|
|||
//#define Z3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(Z4)
|
||||
#if AXIS_IS_TMC_CONFIG(Z4)
|
||||
#define Z4_CURRENT 800
|
||||
#define Z4_CURRENT_HOME Z4_CURRENT
|
||||
#define Z4_MICROSTEPS Z_MICROSTEPS
|
||||
|
|
@ -2934,7 +2800,7 @@
|
|||
//#define Z4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(I)
|
||||
#if AXIS_IS_TMC_CONFIG(I)
|
||||
#define I_CURRENT 800
|
||||
#define I_CURRENT_HOME I_CURRENT
|
||||
#define I_MICROSTEPS 16
|
||||
|
|
@ -2944,7 +2810,7 @@
|
|||
//#define I_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(J)
|
||||
#if AXIS_IS_TMC_CONFIG(J)
|
||||
#define J_CURRENT 800
|
||||
#define J_CURRENT_HOME J_CURRENT
|
||||
#define J_MICROSTEPS 16
|
||||
|
|
@ -2954,7 +2820,7 @@
|
|||
//#define J_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(K)
|
||||
#if AXIS_IS_TMC_CONFIG(K)
|
||||
#define K_CURRENT 800
|
||||
#define K_CURRENT_HOME K_CURRENT
|
||||
#define K_MICROSTEPS 16
|
||||
|
|
@ -2964,7 +2830,7 @@
|
|||
//#define K_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(U)
|
||||
#if AXIS_IS_TMC_CONFIG(U)
|
||||
#define U_CURRENT 800
|
||||
#define U_CURRENT_HOME U_CURRENT
|
||||
#define U_MICROSTEPS 8
|
||||
|
|
@ -2974,7 +2840,7 @@
|
|||
//#define U_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(V)
|
||||
#if AXIS_IS_TMC_CONFIG(V)
|
||||
#define V_CURRENT 800
|
||||
#define V_CURRENT_HOME V_CURRENT
|
||||
#define V_MICROSTEPS 8
|
||||
|
|
@ -2984,7 +2850,7 @@
|
|||
//#define V_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(W)
|
||||
#if AXIS_IS_TMC_CONFIG(W)
|
||||
#define W_CURRENT 800
|
||||
#define W_CURRENT_HOME W_CURRENT
|
||||
#define W_MICROSTEPS 8
|
||||
|
|
@ -2994,7 +2860,7 @@
|
|||
//#define W_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E0)
|
||||
#if AXIS_IS_TMC_CONFIG(E0)
|
||||
#define E0_CURRENT 650
|
||||
#define E0_MICROSTEPS 16
|
||||
#define E0_RSENSE 0.11
|
||||
|
|
@ -3003,7 +2869,7 @@
|
|||
//#define E0_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E1)
|
||||
#if AXIS_IS_TMC_CONFIG(E1)
|
||||
#define E1_CURRENT 800
|
||||
#define E1_MICROSTEPS E0_MICROSTEPS
|
||||
#define E1_RSENSE 0.11
|
||||
|
|
@ -3012,7 +2878,7 @@
|
|||
//#define E1_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E2)
|
||||
#if AXIS_IS_TMC_CONFIG(E2)
|
||||
#define E2_CURRENT 800
|
||||
#define E2_MICROSTEPS E0_MICROSTEPS
|
||||
#define E2_RSENSE 0.11
|
||||
|
|
@ -3021,7 +2887,7 @@
|
|||
//#define E2_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E3)
|
||||
#if AXIS_IS_TMC_CONFIG(E3)
|
||||
#define E3_CURRENT 800
|
||||
#define E3_MICROSTEPS E0_MICROSTEPS
|
||||
#define E3_RSENSE 0.11
|
||||
|
|
@ -3030,7 +2896,7 @@
|
|||
//#define E3_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E4)
|
||||
#if AXIS_IS_TMC_CONFIG(E4)
|
||||
#define E4_CURRENT 800
|
||||
#define E4_MICROSTEPS E0_MICROSTEPS
|
||||
#define E4_RSENSE 0.11
|
||||
|
|
@ -3039,7 +2905,7 @@
|
|||
//#define E4_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E5)
|
||||
#if AXIS_IS_TMC_CONFIG(E5)
|
||||
#define E5_CURRENT 800
|
||||
#define E5_MICROSTEPS E0_MICROSTEPS
|
||||
#define E5_RSENSE 0.11
|
||||
|
|
@ -3048,7 +2914,7 @@
|
|||
//#define E5_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E6)
|
||||
#if AXIS_IS_TMC_CONFIG(E6)
|
||||
#define E6_CURRENT 800
|
||||
#define E6_MICROSTEPS E0_MICROSTEPS
|
||||
#define E6_RSENSE 0.11
|
||||
|
|
@ -3057,7 +2923,7 @@
|
|||
//#define E6_HOLD_MULTIPLIER 0.5
|
||||
#endif
|
||||
|
||||
#if AXIS_IS_TMC(E7)
|
||||
#if AXIS_IS_TMC_CONFIG(E7)
|
||||
#define E7_CURRENT 800
|
||||
#define E7_MICROSTEPS E0_MICROSTEPS
|
||||
#define E7_RSENSE 0.11
|
||||
|
|
@ -3159,15 +3025,17 @@
|
|||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#if HAS_STEALTHCHOP
|
||||
#define STEALTHCHOP_XY
|
||||
#define STEALTHCHOP_Z
|
||||
#define STEALTHCHOP_I
|
||||
#define STEALTHCHOP_J
|
||||
#define STEALTHCHOP_K
|
||||
#define STEALTHCHOP_U
|
||||
#define STEALTHCHOP_V
|
||||
#define STEALTHCHOP_W
|
||||
#define STEALTHCHOP_E
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Optimize spreadCycle chopper parameters by using predefined parameter sets
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue