Merge pull request #11361 from thinkyhead/bf1_define_drivers_th

[1.1.x] Configure stepper drivers per axis
This commit is contained in:
Scott Lahteine
2018-07-25 04:05:13 -05:00
committed by GitHub
118 changed files with 3187 additions and 4360 deletions

View File

@@ -359,14 +359,20 @@ script:
# #
- use_example_configs SCARA - use_example_configs SCARA
- opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER - opt_enable AUTO_BED_LEVELING_BILINEAR FIX_MOUNTED_PROBE USE_ZMIN_PLUG EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER
- opt_enable_adv HAVE_TMC2130 X_IS_TMC2130 Y_IS_TMC2130 Z_IS_TMC2130 - opt_set X_DRIVER_TYPE TMC2130
- opt_set Y_DRIVER_TYPE TMC2130
- opt_set Z_DRIVER_TYPE TMC2130
- opt_set E0_DRIVER_TYPE TMC2130
- opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING - opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD SENSORLESS_HOMING
- build_marlin - build_marlin
# #
# TMC2208 Config # TMC2208 Config
# #
- restore_configs - restore_configs
- opt_enable_adv HAVE_TMC2208 X_IS_TMC2208 Y_IS_TMC2208 Z_IS_TMC2208 - opt_set X_DRIVER_TYPE TMC2208
- opt_set Y_DRIVER_TYPE TMC2208
- opt_set Z_DRIVER_TYPE TMC2208
- opt_set E0_DRIVER_TYPE TMC2208
- opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD TMC_DEBUG - opt_enable_adv MONITOR_DRIVER_STATUS STEALTHCHOP HYBRID_THRESHOLD TMC_DEBUG
- build_marlin - build_marlin
# #

View File

@@ -400,6 +400,63 @@
#define ARRAY_BY_HOTENDS(...) ARRAY_N(HOTENDS, __VA_ARGS__) #define ARRAY_BY_HOTENDS(...) ARRAY_N(HOTENDS, __VA_ARGS__)
#define ARRAY_BY_HOTENDS1(v1) ARRAY_BY_HOTENDS(v1, v1, v1, v1, v1, v1) #define ARRAY_BY_HOTENDS1(v1) ARRAY_BY_HOTENDS(v1, v1, v1, v1, v1, v1)
/**
* Driver Timings
* NOTE: Driver timing order is longest-to-shortest duration.
* Preserve this ordering when adding new drivers.
*/
#ifndef MINIMUM_STEPPER_DIR_DELAY
#if HAS_DRIVER(TB6560)
#define MINIMUM_STEPPER_DIR_DELAY 15000
#elif HAS_DRIVER(TB6600)
#define MINIMUM_STEPPER_DIR_DELAY 1500
#elif HAS_DRIVER(DRV8825)
#define MINIMUM_STEPPER_DIR_DELAY 650
#elif HAS_DRIVER(LV8729)
#define MINIMUM_STEPPER_DIR_DELAY 500
#elif HAS_DRIVER(A4988)
#define MINIMUM_STEPPER_DIR_DELAY 200
#elif HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE)
#define MINIMUM_STEPPER_DIR_DELAY 20
#else
#define MINIMUM_STEPPER_DIR_DELAY 0 // Expect at least 10µS since one Stepper ISR must transpire
#endif
#endif
#ifndef MINIMUM_STEPPER_PULSE
#if HAS_DRIVER(TB6560)
#define MINIMUM_STEPPER_PULSE 30
#elif HAS_DRIVER(TB6600)
#define MINIMUM_STEPPER_PULSE 3
#elif HAS_DRIVER(DRV8825)
#define MINIMUM_STEPPER_PULSE 2
#elif HAS_DRIVER(A4988) || HAS_DRIVER(LV8729)
#define MINIMUM_STEPPER_PULSE 1
#elif HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE)
#define MINIMUM_STEPPER_PULSE 0
#else
#define MINIMUM_STEPPER_PULSE 2
#endif
#endif
#ifndef MAXIMUM_STEPPER_RATE
#if HAS_DRIVER(TB6560)
#define MAXIMUM_STEPPER_RATE 15000
#elif HAS_DRIVER(LV8729)
#define MAXIMUM_STEPPER_RATE 130000
#elif HAS_DRIVER(TB6600)
#define MAXIMUM_STEPPER_RATE 150000
#elif HAS_DRIVER(DRV8825)
#define MAXIMUM_STEPPER_RATE 250000
#elif HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE)
#define MAXIMUM_STEPPER_RATE 400000
#elif HAS_DRIVER(A4988)
#define MAXIMUM_STEPPER_RATE 500000
#else
#define MAXIMUM_STEPPER_RATE 250000
#endif
#endif
/** /**
* X_DUAL_ENDSTOPS endstop reassignment * X_DUAL_ENDSTOPS endstop reassignment
*/ */
@@ -661,27 +718,19 @@
#define HAS_SOLENOID_4 (PIN_EXISTS(SOL4)) #define HAS_SOLENOID_4 (PIN_EXISTS(SOL4))
// Trinamic Stepper Drivers // Trinamic Stepper Drivers
#define HAS_TRINAMIC (ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) || ENABLED(IS_TRAMS)) #define HAS_STEALTHCHOP (HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2208))
#define X_IS_TRINAMIC (ENABLED( X_IS_TMC2130) || ENABLED( X_IS_TMC2208) || ENABLED(IS_TRAMS)) #define HAS_STALLGUARD (HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2660))
#define X2_IS_TRINAMIC (ENABLED(X2_IS_TMC2130) || ENABLED(X2_IS_TMC2208)) #define AXIS_HAS_STEALTHCHOP(ST) ( AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2208) )
#define Y_IS_TRINAMIC (ENABLED( Y_IS_TMC2130) || ENABLED( Y_IS_TMC2208) || ENABLED(IS_TRAMS)) #define AXIS_HAS_STALLGUARD(ST) ( AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2660) )
#define Y2_IS_TRINAMIC (ENABLED(Y2_IS_TMC2130) || ENABLED(Y2_IS_TMC2208))
#define Z_IS_TRINAMIC (ENABLED( Z_IS_TMC2130) || ENABLED( Z_IS_TMC2208) || ENABLED(IS_TRAMS))
#define Z2_IS_TRINAMIC (ENABLED(Z2_IS_TMC2130) || ENABLED(Z2_IS_TMC2208))
#define E0_IS_TRINAMIC (ENABLED(E0_IS_TMC2130) || ENABLED(E0_IS_TMC2208) || ENABLED(IS_TRAMS))
#define E1_IS_TRINAMIC (ENABLED(E1_IS_TMC2130) || ENABLED(E1_IS_TMC2208))
#define E2_IS_TRINAMIC (ENABLED(E2_IS_TMC2130) || ENABLED(E2_IS_TMC2208))
#define E3_IS_TRINAMIC (ENABLED(E3_IS_TMC2130) || ENABLED(E3_IS_TMC2208))
#define E4_IS_TRINAMIC (ENABLED(E4_IS_TMC2130) || ENABLED(E4_IS_TMC2208))
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
// Disable Z axis sensorless homing if a probe is used to home the Z axis // Disable Z axis sensorless homing if a probe is used to home the Z axis
#if HOMING_Z_WITH_PROBE #if HOMING_Z_WITH_PROBE
#undef Z_HOMING_SENSITIVITY #undef Z_HOMING_SENSITIVITY
#endif #endif
#define X_SENSORLESS (ENABLED(X_IS_TMC2130) && defined(X_HOMING_SENSITIVITY)) #define X_SENSORLESS (AXIS_HAS_STALLGUARD(X) && defined(X_HOMING_SENSITIVITY))
#define Y_SENSORLESS (ENABLED(Y_IS_TMC2130) && defined(Y_HOMING_SENSITIVITY)) #define Y_SENSORLESS (AXIS_HAS_STALLGUARD(Y) && defined(Y_HOMING_SENSITIVITY))
#define Z_SENSORLESS (ENABLED(Z_IS_TMC2130) && defined(Z_HOMING_SENSITIVITY)) #define Z_SENSORLESS (AXIS_HAS_STALLGUARD(Z) && defined(Z_HOMING_SENSITIVITY))
#endif #endif
// Endstops and bed probe // Endstops and bed probe

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -820,8 +820,10 @@
* 650 : Minimum for DRV8825 drivers * 650 : Minimum for DRV8825 drivers
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*
* Override the default value based on the driver type set in Configuration.h.
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -831,8 +833,10 @@
* 2 : Minimum for DRV8825 stepper drivers * 2 : Minimum for DRV8825 stepper drivers
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*
* Override the default value based on the driver type set in Configuration.h.
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -843,8 +847,10 @@
* 150000 : Maximum for TB6600 stepper driver * 150000 : Maximum for TB6600 stepper driver
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*
* Override the default value based on the driver type set in Configuration.h.
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1018,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1074,39 +1069,21 @@
#define E4_SENSE_RESISTOR 91 #define E4_SENSE_RESISTOR 91
#define E4_MICROSTEPS 16 #define E4_MICROSTEPS 16
#endif #endif // TMC26X
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1091,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1246,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off
@@ -1348,7 +1297,7 @@
#define E4_OVERCURRENT 2000 #define E4_OVERCURRENT 2000
#define E4_STALLCURRENT 1500 #define E4_STALLCURRENT 1500
#endif #endif // L6470
/** /**
* TWI/I2C BUS * TWI/I2C BUS

View File

@@ -25,6 +25,7 @@
#include "boards.h" #include "boards.h"
#include "macros.h" #include "macros.h"
#include "drivers.h"
#include "Version.h" #include "Version.h"
#include "Configuration.h" #include "Configuration.h"
#include "Conditionals_LCD.h" #include "Conditionals_LCD.h"

View File

@@ -136,7 +136,7 @@
* M119 - Report endstops status. * M119 - Report endstops status.
* M120 - Enable endstops detection. * M120 - Enable endstops detection.
* M121 - Disable endstops detection. * M121 - Disable endstops detection.
* M122 - Debug stepper (Requires HAVE_TMC2130 or HAVE_TMC2208) * M122 - Debug stepper (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660)
* M125 - Save current position and move to filament change position. (Requires PARK_HEAD_ON_PAUSE) * M125 - Save current position and move to filament change position. (Requires PARK_HEAD_ON_PAUSE)
* M126 - Solenoid Air Valve Open. (Requires BARICUDA) * M126 - Solenoid Air Valve Open. (Requires BARICUDA)
* M127 - Solenoid Air Valve Closed. (Requires BARICUDA) * M127 - Solenoid Air Valve Closed. (Requires BARICUDA)
@@ -223,13 +223,13 @@
* M868 - Report or set position encoder module error correction threshold. * M868 - Report or set position encoder module error correction threshold.
* M869 - Report position encoder module error. * M869 - Report position encoder module error.
* M900 - Get or Set Linear Advance K-factor. (Requires LIN_ADVANCE) * M900 - Get or Set Linear Advance K-factor. (Requires LIN_ADVANCE)
* M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. (Requires HAVE_TMC2130 or HAVE_TMC2208) * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660)
* M907 - Set digital trimpot motor current using axis codes. (Requires a board with digital trimpots) * M907 - Set digital trimpot motor current using axis codes. (Requires a board with digital trimpots)
* M908 - Control digital trimpot directly. (Requires DAC_STEPPER_CURRENT or DIGIPOTSS_PIN) * M908 - Control digital trimpot directly. (Requires DAC_STEPPER_CURRENT or DIGIPOTSS_PIN)
* M909 - Print digipot/DAC current value. (Requires DAC_STEPPER_CURRENT) * M909 - Print digipot/DAC current value. (Requires DAC_STEPPER_CURRENT)
* M910 - Commit digipot/DAC value to external EEPROM via I2C. (Requires DAC_STEPPER_CURRENT) * M910 - Commit digipot/DAC value to external EEPROM via I2C. (Requires DAC_STEPPER_CURRENT)
* M911 - Report stepper driver overtemperature pre-warn condition. (Requires HAVE_TMC2130 or HAVE_TMC2208) * M911 - Report stepper driver overtemperature pre-warn condition. (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660)
* M912 - Clear stepper driver overtemperature pre-warn condition flag. (Requires HAVE_TMC2130 or HAVE_TMC2208) * M912 - Clear stepper driver overtemperature pre-warn condition flag. (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660)
* M913 - Set HYBRID_THRESHOLD speed. (Requires HYBRID_THRESHOLD) * M913 - Set HYBRID_THRESHOLD speed. (Requires HYBRID_THRESHOLD)
* M914 - Set SENSORLESS_HOMING sensitivity. (Requires SENSORLESS_HOMING) * M914 - Set SENSORLESS_HOMING sensitivity. (Requires SENSORLESS_HOMING)
* *
@@ -10988,45 +10988,45 @@ inline void gcode_M502() {
report = false; report = false;
switch (i) { switch (i) {
case X_AXIS: case X_AXIS:
#if X_IS_TRINAMIC #if AXIS_IS_TMC(X)
if (index < 2) TMC_SET_CURRENT(X); if (index < 2) TMC_SET_CURRENT(X);
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_IS_TMC(X2)
if (!(index & 1)) TMC_SET_CURRENT(X2); if (!(index & 1)) TMC_SET_CURRENT(X2);
#endif #endif
break; break;
case Y_AXIS: case Y_AXIS:
#if Y_IS_TRINAMIC #if AXIS_IS_TMC(Y)
if (index < 2) TMC_SET_CURRENT(Y); if (index < 2) TMC_SET_CURRENT(Y);
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_IS_TMC(Y2)
if (!(index & 1)) TMC_SET_CURRENT(Y2); if (!(index & 1)) TMC_SET_CURRENT(Y2);
#endif #endif
break; break;
case Z_AXIS: case Z_AXIS:
#if Z_IS_TRINAMIC #if AXIS_IS_TMC(Z)
if (index < 2) TMC_SET_CURRENT(Z); if (index < 2) TMC_SET_CURRENT(Z);
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_IS_TMC(Z2)
if (!(index & 1)) TMC_SET_CURRENT(Z2); if (!(index & 1)) TMC_SET_CURRENT(Z2);
#endif #endif
break; break;
case E_AXIS: { case E_AXIS: {
if (get_target_extruder_from_command(906)) return; if (get_target_extruder_from_command(906)) return;
switch (target_extruder) { switch (target_extruder) {
#if E0_IS_TRINAMIC #if AXIS_IS_TMC(E0)
case 0: TMC_SET_CURRENT(E0); break; case 0: TMC_SET_CURRENT(E0); break;
#endif #endif
#if E1_IS_TRINAMIC #if AXIS_IS_TMC(E1)
case 1: TMC_SET_CURRENT(E1); break; case 1: TMC_SET_CURRENT(E1); break;
#endif #endif
#if E2_IS_TRINAMIC #if AXIS_IS_TMC(E2)
case 2: TMC_SET_CURRENT(E2); break; case 2: TMC_SET_CURRENT(E2); break;
#endif #endif
#if E3_IS_TRINAMIC #if AXIS_IS_TMC(E3)
case 3: TMC_SET_CURRENT(E3); break; case 3: TMC_SET_CURRENT(E3); break;
#endif #endif
#if E4_IS_TRINAMIC #if AXIS_IS_TMC(E4)
case 4: TMC_SET_CURRENT(E4); break; case 4: TMC_SET_CURRENT(E4); break;
#endif #endif
} }
@@ -11035,73 +11035,69 @@ inline void gcode_M502() {
} }
if (report) { if (report) {
#if X_IS_TRINAMIC #if AXIS_IS_TMC(X)
TMC_SAY_CURRENT(X); TMC_SAY_CURRENT(X);
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_IS_TMC(X2)
TMC_SAY_CURRENT(X2); TMC_SAY_CURRENT(X2);
#endif #endif
#if Y_IS_TRINAMIC #if AXIS_IS_TMC(Y)
TMC_SAY_CURRENT(Y); TMC_SAY_CURRENT(Y);
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_IS_TMC(Y2)
TMC_SAY_CURRENT(Y2); TMC_SAY_CURRENT(Y2);
#endif #endif
#if Z_IS_TRINAMIC #if AXIS_IS_TMC(Z)
TMC_SAY_CURRENT(Z); TMC_SAY_CURRENT(Z);
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_IS_TMC(Z2)
TMC_SAY_CURRENT(Z2); TMC_SAY_CURRENT(Z2);
#endif #endif
#if E0_IS_TRINAMIC #if AXIS_IS_TMC(E0)
TMC_SAY_CURRENT(E0); TMC_SAY_CURRENT(E0);
#endif #endif
#if E1_IS_TRINAMIC #if AXIS_IS_TMC(E1)
TMC_SAY_CURRENT(E1); TMC_SAY_CURRENT(E1);
#endif #endif
#if E2_IS_TRINAMIC #if AXIS_IS_TMC(E2)
TMC_SAY_CURRENT(E2); TMC_SAY_CURRENT(E2);
#endif #endif
#if E3_IS_TRINAMIC #if AXIS_IS_TMC(E3)
TMC_SAY_CURRENT(E3); TMC_SAY_CURRENT(E3);
#endif #endif
#if E4_IS_TRINAMIC #if AXIS_IS_TMC(E4)
TMC_SAY_CURRENT(E4); TMC_SAY_CURRENT(E4);
#endif #endif
} }
} }
#define M91x_USE(A) (ENABLED(A##_IS_TMC2130) || (ENABLED(A##_IS_TMC2208) && PIN_EXISTS(A##_SERIAL_RX))) #define M91x_USE(ST) (AXIS_DRIVER_TYPE(ST, TMC2130) || (AXIS_DRIVER_TYPE(ST, TMC2208) && PIN_EXISTS(ST##_SERIAL_RX)))
#define M91x_USE_E(N) (E_STEPPERS > N && M91x_USE(E##N)) #define M91x_USE_E(N) (E_STEPPERS > N && M91x_USE(E##N))
#define M91x_USE_X (ENABLED(IS_TRAMS) || M91x_USE(X))
#define M91x_USE_Y (ENABLED(IS_TRAMS) || M91x_USE(Y))
#define M91x_USE_Z (ENABLED(IS_TRAMS) || M91x_USE(Z))
#define M91x_USE_E0 (ENABLED(IS_TRAMS) || M91x_USE_E(0))
/** /**
* M911: Report TMC stepper driver overtemperature pre-warn flag * M911: Report TMC stepper driver overtemperature pre-warn flag
* This flag is held by the library, persisting until cleared by M912 * This flag is held by the library, persisting until cleared by M912
*/ */
inline void gcode_M911() { inline void gcode_M911() {
#if M91x_USE_X #if M91x_USE(X)
tmc_report_otpw(stepperX, TMC_X); tmc_report_otpw(stepperX, TMC_X);
#endif #endif
#if M91x_USE(X2) #if M91x_USE(X2)
tmc_report_otpw(stepperX2, TMC_X2); tmc_report_otpw(stepperX2, TMC_X2);
#endif #endif
#if M91x_USE_Y #if M91x_USE(Y)
tmc_report_otpw(stepperY, TMC_Y); tmc_report_otpw(stepperY, TMC_Y);
#endif #endif
#if M91x_USE(Y2) #if M91x_USE(Y2)
tmc_report_otpw(stepperY2, TMC_Y2); tmc_report_otpw(stepperY2, TMC_Y2);
#endif #endif
#if M91x_USE_Z #if M91x_USE(Z)
tmc_report_otpw(stepperZ, TMC_Z); tmc_report_otpw(stepperZ, TMC_Z);
#endif #endif
#if M91x_USE(Z2) #if M91x_USE(Z2)
tmc_report_otpw(stepperZ2, TMC_Z2); tmc_report_otpw(stepperZ2, TMC_Z2);
#endif #endif
#if M91x_USE_E0 #if M91x_USE_E(0)
tmc_report_otpw(stepperE0, TMC_E0); tmc_report_otpw(stepperE0, TMC_E0);
#endif #endif
#if M91x_USE_E(1) #if M91x_USE_E(1)
@@ -11137,9 +11133,9 @@ inline void gcode_M502() {
hasE = parser.seen(axis_codes[E_AXIS]), hasE = parser.seen(axis_codes[E_AXIS]),
hasNone = !hasX && !hasY && !hasZ && !hasE; hasNone = !hasX && !hasY && !hasZ && !hasE;
#if M91x_USE_X || M91x_USE(X2) #if M91x_USE(X) || M91x_USE(X2)
const uint8_t xval = parser.byteval(axis_codes[X_AXIS], 10); const uint8_t xval = parser.byteval(axis_codes[X_AXIS], 10);
#if M91x_USE_X #if M91x_USE(X)
if (hasNone || xval == 1 || (hasX && xval == 10)) tmc_clear_otpw(stepperX, TMC_X); if (hasNone || xval == 1 || (hasX && xval == 10)) tmc_clear_otpw(stepperX, TMC_X);
#endif #endif
#if M91x_USE(X2) #if M91x_USE(X2)
@@ -11147,9 +11143,9 @@ inline void gcode_M502() {
#endif #endif
#endif #endif
#if M91x_USE_Y || M91x_USE(Y2) #if M91x_USE(Y) || M91x_USE(Y2)
const uint8_t yval = parser.byteval(axis_codes[Y_AXIS], 10); const uint8_t yval = parser.byteval(axis_codes[Y_AXIS], 10);
#if M91x_USE_Y #if M91x_USE(Y)
if (hasNone || yval == 1 || (hasY && yval == 10)) tmc_clear_otpw(stepperY, TMC_Y); if (hasNone || yval == 1 || (hasY && yval == 10)) tmc_clear_otpw(stepperY, TMC_Y);
#endif #endif
#if M91x_USE(Y2) #if M91x_USE(Y2)
@@ -11157,9 +11153,9 @@ inline void gcode_M502() {
#endif #endif
#endif #endif
#if M91x_USE_Z || M91x_USE(Z2) #if M91x_USE(Z) || M91x_USE(Z2)
const uint8_t zval = parser.byteval(axis_codes[Z_AXIS], 10); const uint8_t zval = parser.byteval(axis_codes[Z_AXIS], 10);
#if M91x_USE_Z #if M91x_USE(Z)
if (hasNone || zval == 1 || (hasZ && zval == 10)) tmc_clear_otpw(stepperZ, TMC_Z); if (hasNone || zval == 1 || (hasZ && zval == 10)) tmc_clear_otpw(stepperZ, TMC_Z);
#endif #endif
#if M91x_USE(Z2) #if M91x_USE(Z2)
@@ -11167,9 +11163,9 @@ inline void gcode_M502() {
#endif #endif
#endif #endif
#if M91x_USE_E0 || M91x_USE_E(1) || M91x_USE_E(2) || M91x_USE_E(3) || M91x_USE_E(4) #if M91x_USE_E(0) || M91x_USE_E(1) || M91x_USE_E(2) || M91x_USE_E(3) || M91x_USE_E(4)
const uint8_t eval = parser.byteval(axis_codes[E_AXIS], 10); const uint8_t eval = parser.byteval(axis_codes[E_AXIS], 10);
#if M91x_USE_E0 #if M91x_USE_E(0)
if (hasNone || eval == 0 || (hasE && eval == 10)) tmc_clear_otpw(stepperE0, TMC_E0); if (hasNone || eval == 0 || (hasE && eval == 10)) tmc_clear_otpw(stepperE0, TMC_E0);
#endif #endif
#if M91x_USE_E(1) #if M91x_USE_E(1)
@@ -11203,45 +11199,45 @@ inline void gcode_M502() {
report = false; report = false;
switch (i) { switch (i) {
case X_AXIS: case X_AXIS:
#if X_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(X)
if (index < 2) TMC_SET_PWMTHRS(X,X); if (index < 2) TMC_SET_PWMTHRS(X,X);
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(X2)
if (!(index & 1)) TMC_SET_PWMTHRS(X,X2); if (!(index & 1)) TMC_SET_PWMTHRS(X,X2);
#endif #endif
break; break;
case Y_AXIS: case Y_AXIS:
#if Y_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Y)
if (index < 2) TMC_SET_PWMTHRS(Y,Y); if (index < 2) TMC_SET_PWMTHRS(Y,Y);
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Y2)
if (!(index & 1)) TMC_SET_PWMTHRS(Y,Y2); if (!(index & 1)) TMC_SET_PWMTHRS(Y,Y2);
#endif #endif
break; break;
case Z_AXIS: case Z_AXIS:
#if Z_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Z)
if (index < 2) TMC_SET_PWMTHRS(Z,Z); if (index < 2) TMC_SET_PWMTHRS(Z,Z);
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Z2)
if (!(index & 1)) TMC_SET_PWMTHRS(Z,Z2); if (!(index & 1)) TMC_SET_PWMTHRS(Z,Z2);
#endif #endif
break; break;
case E_AXIS: { case E_AXIS: {
if (get_target_extruder_from_command(913)) return; if (get_target_extruder_from_command(913)) return;
switch (target_extruder) { switch (target_extruder) {
#if E0_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E0)
case 0: TMC_SET_PWMTHRS_E(0); break; case 0: TMC_SET_PWMTHRS_E(0); break;
#endif #endif
#if E_STEPPERS > 1 && E1_IS_TRINAMIC #if E_STEPPERS > 1 && AXIS_HAS_STEALTHCHOP(E1)
case 1: TMC_SET_PWMTHRS_E(1); break; case 1: TMC_SET_PWMTHRS_E(1); break;
#endif #endif
#if E_STEPPERS > 2 && E2_IS_TRINAMIC #if E_STEPPERS > 2 && AXIS_HAS_STEALTHCHOP(E2)
case 2: TMC_SET_PWMTHRS_E(2); break; case 2: TMC_SET_PWMTHRS_E(2); break;
#endif #endif
#if E_STEPPERS > 3 && E3_IS_TRINAMIC #if E_STEPPERS > 3 && AXIS_HAS_STEALTHCHOP(E3)
case 3: TMC_SET_PWMTHRS_E(3); break; case 3: TMC_SET_PWMTHRS_E(3); break;
#endif #endif
#if E_STEPPERS > 4 && E4_IS_TRINAMIC #if E_STEPPERS > 4 && AXIS_HAS_STEALTHCHOP(E4)
case 4: TMC_SET_PWMTHRS_E(4); break; case 4: TMC_SET_PWMTHRS_E(4); break;
#endif #endif
} }
@@ -11250,37 +11246,37 @@ inline void gcode_M502() {
} }
if (report) { if (report) {
#if X_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(X)
TMC_SAY_PWMTHRS(X,X); TMC_SAY_PWMTHRS(X,X);
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(X2)
TMC_SAY_PWMTHRS(X,X2); TMC_SAY_PWMTHRS(X,X2);
#endif #endif
#if Y_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Y)
TMC_SAY_PWMTHRS(Y,Y); TMC_SAY_PWMTHRS(Y,Y);
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Y2)
TMC_SAY_PWMTHRS(Y,Y2); TMC_SAY_PWMTHRS(Y,Y2);
#endif #endif
#if Z_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Z)
TMC_SAY_PWMTHRS(Z,Z); TMC_SAY_PWMTHRS(Z,Z);
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Z2)
TMC_SAY_PWMTHRS(Z,Z2); TMC_SAY_PWMTHRS(Z,Z2);
#endif #endif
#if E0_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E0)
TMC_SAY_PWMTHRS_E(0); TMC_SAY_PWMTHRS_E(0);
#endif #endif
#if E_STEPPERS > 1 && E1_IS_TRINAMIC #if E_STEPPERS > 1 && AXIS_HAS_STEALTHCHOP(E1)
TMC_SAY_PWMTHRS_E(1); TMC_SAY_PWMTHRS_E(1);
#endif #endif
#if E_STEPPERS > 2 && E2_IS_TRINAMIC #if E_STEPPERS > 2 && AXIS_HAS_STEALTHCHOP(E2)
TMC_SAY_PWMTHRS_E(2); TMC_SAY_PWMTHRS_E(2);
#endif #endif
#if E_STEPPERS > 3 && E3_IS_TRINAMIC #if E_STEPPERS > 3 && AXIS_HAS_STEALTHCHOP(E3)
TMC_SAY_PWMTHRS_E(3); TMC_SAY_PWMTHRS_E(3);
#endif #endif
#if E_STEPPERS > 4 && E4_IS_TRINAMIC #if E_STEPPERS > 4 && AXIS_HAS_STEALTHCHOP(E4)
TMC_SAY_PWMTHRS_E(4); TMC_SAY_PWMTHRS_E(4);
#endif #endif
} }
@@ -11303,30 +11299,30 @@ inline void gcode_M502() {
switch (i) { switch (i) {
#if X_SENSORLESS #if X_SENSORLESS
case X_AXIS: case X_AXIS:
#if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(X)
if (index < 2) TMC_SET_SGT(X); if (index < 2) TMC_SET_SGT(X);
#endif #endif
#if ENABLED(X2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(X2)
if (!(index & 1)) TMC_SET_SGT(X2); if (!(index & 1)) TMC_SET_SGT(X2);
#endif #endif
break; break;
#endif #endif
#if Y_SENSORLESS #if Y_SENSORLESS
case Y_AXIS: case Y_AXIS:
#if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(Y)
if (index < 2) TMC_SET_SGT(Y); if (index < 2) TMC_SET_SGT(Y);
#endif #endif
#if ENABLED(Y2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(Y2)
if (!(index & 1)) TMC_SET_SGT(Y2); if (!(index & 1)) TMC_SET_SGT(Y2);
#endif #endif
break; break;
#endif #endif
#if Z_SENSORLESS #if Z_SENSORLESS
case Z_AXIS: case Z_AXIS:
#if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(Z)
if (index < 2) TMC_SET_SGT(Z); if (index < 2) TMC_SET_SGT(Z);
#endif #endif
#if ENABLED(Z2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(Z2)
if (!(index & 1)) TMC_SET_SGT(Z2); if (!(index & 1)) TMC_SET_SGT(Z2);
#endif #endif
break; break;
@@ -11336,26 +11332,26 @@ inline void gcode_M502() {
if (report) { if (report) {
#if X_SENSORLESS #if X_SENSORLESS
#if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(X)
TMC_SAY_SGT(X); TMC_SAY_SGT(X);
#endif #endif
#if ENABLED(X2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(X2)
TMC_SAY_SGT(X2); TMC_SAY_SGT(X2);
#endif #endif
#endif #endif
#if Y_SENSORLESS #if Y_SENSORLESS
#if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(Y)
TMC_SAY_SGT(Y); TMC_SAY_SGT(Y);
#endif #endif
#if ENABLED(Y2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(Y2)
TMC_SAY_SGT(Y2); TMC_SAY_SGT(Y2);
#endif #endif
#endif #endif
#if Z_SENSORLESS #if Z_SENSORLESS
#if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(Z)
TMC_SAY_SGT(Z); TMC_SAY_SGT(Z);
#endif #endif
#if ENABLED(Z2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(Z2)
TMC_SAY_SGT(Z2); TMC_SAY_SGT(Z2);
#endif #endif
#endif #endif
@@ -11376,11 +11372,11 @@ inline void gcode_M502() {
return; return;
} }
#if Z_IS_TRINAMIC #if AXIS_IS_TMC(Z)
const uint16_t Z_current_1 = stepperZ.getCurrent(); const uint16_t Z_current_1 = stepperZ.getCurrent();
stepperZ.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER); stepperZ.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER);
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_IS_TMC(Z2)
const uint16_t Z2_current_1 = stepperZ2.getCurrent(); const uint16_t Z2_current_1 = stepperZ2.getCurrent();
stepperZ2.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER); stepperZ2.setCurrent(_rms, R_SENSE, HOLD_MULTIPLIER);
#endif #endif
@@ -11391,10 +11387,10 @@ inline void gcode_M502() {
do_blocking_move_to_z(Z_MAX_POS+_z); do_blocking_move_to_z(Z_MAX_POS+_z);
#if Z_IS_TRINAMIC #if AXIS_IS_TMC(Z)
stepperZ.setCurrent(Z_current_1, R_SENSE, HOLD_MULTIPLIER); stepperZ.setCurrent(Z_current_1, R_SENSE, HOLD_MULTIPLIER);
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_IS_TMC(Z2)
stepperZ2.setCurrent(Z2_current_1, R_SENSE, HOLD_MULTIPLIER); stepperZ2.setCurrent(Z2_current_1, R_SENSE, HOLD_MULTIPLIER);
#endif #endif
@@ -12619,7 +12615,7 @@ void process_parsed_command() {
#endif #endif
#endif #endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208) #if HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2208)
#if ENABLED(TMC_DEBUG) #if ENABLED(TMC_DEBUG)
case 122: gcode_M122(); break; // M122: Debug TMC steppers case 122: gcode_M122(); break; // M122: Debug TMC steppers
#endif #endif
@@ -14445,10 +14441,10 @@ void setup() {
SERIAL_ECHO_START(); SERIAL_ECHO_START();
// Prepare communication for TMC drivers // Prepare communication for TMC drivers
#if ENABLED(HAVE_TMC2130) #if HAS_DRIVER(TMC2130)
tmc_init_cs_pins(); tmc_init_cs_pins();
#endif #endif
#if ENABLED(HAVE_TMC2208) #if HAS_DRIVER(TMC2208)
tmc2208_serial_begin(); tmc2208_serial_begin();
#endif #endif

View File

@@ -265,10 +265,28 @@
#elif defined(MEASURED_LOWER_LIMIT) || defined(MEASURED_UPPER_LIMIT) #elif defined(MEASURED_LOWER_LIMIT) || defined(MEASURED_UPPER_LIMIT)
#error "MEASURED_(UPPER|LOWER)_LIMIT is now FILWIDTH_ERROR_MARGIN. Please update your configuration." #error "MEASURED_(UPPER|LOWER)_LIMIT is now FILWIDTH_ERROR_MARGIN. Please update your configuration."
#elif defined(HAVE_TMCDRIVER) #elif defined(HAVE_TMCDRIVER)
#error "HAVE_TMCDRIVER is now HAVE_TMC26X. Please update your Configuration_adv.h." #error "HAVE_TMCDRIVER is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h."
#elif defined(HAVE_TMC26X)
#error "HAVE_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h."
#elif defined(HAVE_TMC2130)
#error "HAVE_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. Please update your Configuration.h."
#elif defined(HAVE_L6470DRIVER)
#error "HAVE_L6470DRIVER is now [AXIS]_DRIVER_TYPE L6470. Please update your Configuration.h."
#elif defined(X_IS_TMC) || defined(X2_IS_TMC) || defined(Y_IS_TMC) || defined(Y2_IS_TMC) || defined(Z_IS_TMC) || defined(Z2_IS_TMC) \ #elif defined(X_IS_TMC) || defined(X2_IS_TMC) || defined(Y_IS_TMC) || defined(Y2_IS_TMC) || defined(Z_IS_TMC) || defined(Z2_IS_TMC) \
|| defined(E0_IS_TMC) || defined(E1_IS_TMC) || defined(E2_IS_TMC) || defined(E3_IS_TMC) || defined(E4_IS_TMC) || defined(E0_IS_TMC) || defined(E1_IS_TMC) || defined(E2_IS_TMC) || defined(E3_IS_TMC) || defined(E4_IS_TMC)
#error "[AXIS]_IS_TMC is now [AXIS]_IS_TMC26X. Please update your Configuration_adv.h." #error "[AXIS]_IS_TMC is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h."
#elif defined(X_IS_TMC26X) || defined(X2_IS_TMC26X) || defined(Y_IS_TMC26X) || defined(Y2_IS_TMC26X) || defined(Z_IS_TMC26X) || defined(Z2_IS_TMC26X) \
|| defined(E0_IS_TMC26X) || defined(E1_IS_TMC26X) || defined(E2_IS_TMC26X) || defined(E3_IS_TMC26X) || defined(E4_IS_TMC26X)
#error "[AXIS]_IS_TMC26X is now [AXIS]_DRIVER_TYPE TMC26X. Please update your Configuration.h."
#elif defined(X_IS_TMC2130) || defined(X2_IS_TMC2130) || defined(Y_IS_TMC2130) || defined(Y2_IS_TMC2130) || defined(Z_IS_TMC2130) || defined(Z2_IS_TMC2130) \
|| defined(E0_IS_TMC2130) || defined(E1_IS_TMC2130) || defined(E2_IS_TMC2130) || defined(E3_IS_TMC2130) || defined(E4_IS_TMC2130)
#error "[AXIS]_IS_TMC2130 is now [AXIS]_DRIVER_TYPE TMC2130. Please update your Configuration.h."
#elif defined(X_IS_TMC2208) || defined(X2_IS_TMC2208) || defined(Y_IS_TMC2208) || defined(Y2_IS_TMC2208) || defined(Z_IS_TMC2208) || defined(Z2_IS_TMC2208) \
|| defined(E0_IS_TMC2208) || defined(E1_IS_TMC2208) || defined(E2_IS_TMC2208) || defined(E3_IS_TMC2208) || defined(E4_IS_TMC2208)
#error "[AXIS]_IS_TMC2208 is now [AXIS]_DRIVER_TYPE TMC2208. Please update your Configuration.h."
#elif defined(X_IS_L6470) || defined(X2_IS_L6470) || defined(Y_IS_L6470) || defined(Y2_IS_L6470) || defined(Z_IS_L6470) || defined(Z2_IS_L6470) \
|| defined(E0_IS_L6470) || defined(E1_IS_L6470) || defined(E2_IS_L6470) || defined(E3_IS_L6470) || defined(E4_IS_L6470)
#error "[AXIS]_IS_L6470 is now [AXIS]_DRIVER_TYPE L6470. Please update your Configuration.h."
#elif defined(AUTOMATIC_CURRENT_CONTROL) #elif defined(AUTOMATIC_CURRENT_CONTROL)
#error "AUTOMATIC_CURRENT_CONTROL is now MONITOR_DRIVER_STATUS. Please update your configuration." #error "AUTOMATIC_CURRENT_CONTROL is now MONITOR_DRIVER_STATUS. Please update your configuration."
#elif defined(FILAMENT_CHANGE_LOAD_LENGTH) #elif defined(FILAMENT_CHANGE_LOAD_LENGTH)
@@ -1416,66 +1434,48 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
#endif #endif
/** /**
* Make sure HAVE_TMC26X is warranted * Check existing CS pins against enabled TMC SPI drivers.
*/ */
#if ENABLED(HAVE_TMC26X) && !( \ #if AXIS_DRIVER_TYPE(X, TMC2130) && !PIN_EXISTS(X_CS)
ENABLED( X_IS_TMC26X) \ #error "X_CS_PIN is required for TMC2130. Define X_CS_PIN in Configuration_adv.h."
|| ENABLED(X2_IS_TMC26X) \ #elif AXIS_DRIVER_TYPE(X2, TMC2130) && !PIN_EXISTS(X2_CS)
|| ENABLED( Y_IS_TMC26X) \ #error "X2_CS_PIN is required for X2. Define X2_CS_PIN in Configuration_adv.h."
|| ENABLED(Y2_IS_TMC26X) \ #elif AXIS_DRIVER_TYPE(Y, TMC2130) && !PIN_EXISTS(Y_CS)
|| ENABLED( Z_IS_TMC26X) \ #error "Y_CS_PIN is required for TMC2130. Define Y_CS_PIN in Configuration_adv.h."
|| ENABLED(Z2_IS_TMC26X) \ #elif AXIS_DRIVER_TYPE(Y2, TMC2130) && !PIN_EXISTS(Y2_CS)
|| ENABLED(E0_IS_TMC26X) \ #error "Y2_CS_PIN is required for TMC2130. Define Y2_CS_PIN in Configuration_adv.h."
|| ENABLED(E1_IS_TMC26X) \ #elif AXIS_DRIVER_TYPE(Z, TMC2130) && !PIN_EXISTS(Z_CS)
|| ENABLED(E2_IS_TMC26X) \ #error "Z_CS_PIN is required for TMC2130. Define Z_CS_PIN in Configuration_adv.h."
|| ENABLED(E3_IS_TMC26X) \ #elif AXIS_DRIVER_TYPE(Z2, TMC2130) && !PIN_EXISTS(Z2_CS)
|| ENABLED(E4_IS_TMC26X) \ #error "Z2_CS_PIN is required for TMC2130. Define Z2_CS_PIN in Configuration_adv.h."
) #elif AXIS_DRIVER_TYPE(E0, TMC2130) && !PIN_EXISTS(E0_CS)
#error "HAVE_TMC26X requires at least one TMC26X stepper to be set." #error "E0_CS_PIN is required for TMC2130. Define E0_CS_PIN in Configuration_adv.h."
#elif AXIS_DRIVER_TYPE(E1, TMC2130) && !PIN_EXISTS(E1_CS)
#error "E1_CS_PIN is required for TMC2130. Define E1_CS_PIN in Configuration_adv.h."
#elif AXIS_DRIVER_TYPE(E2, TMC2130) && !PIN_EXISTS(E2_CS)
#error "E2_CS_PIN is required for TMC2130. Define E2_CS_PIN in Configuration_adv.h."
#elif AXIS_DRIVER_TYPE(E3, TMC2130) && !PIN_EXISTS(E3_CS)
#error "E3_CS_PIN is required for TMC2130. Define E3_CS_PIN in Configuration_adv.h."
#elif AXIS_DRIVER_TYPE(E4, TMC2130) && !PIN_EXISTS(E4_CS)
#error "E4_CS_PIN is required for TMC2130. Define E4_CS_PIN in Configuration_adv.h."
#endif #endif
/** /**
* TMC2130 Requirements * TMC2208 software UART and ENDSTOP_INTERRUPTS both use pin change interrupts (PCI)
*/ */
#if ENABLED(HAVE_TMC2130) #if HAS_DRIVER(TMC2208) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !( \
#if !( ENABLED( X_IS_TMC2130) \ defined(X_HARDWARE_SERIAL ) \
|| ENABLED(X2_IS_TMC2130) \ || defined(X2_HARDWARE_SERIAL) \
|| ENABLED( Y_IS_TMC2130) \ || defined(Y_HARDWARE_SERIAL ) \
|| ENABLED(Y2_IS_TMC2130) \ || defined(Y2_HARDWARE_SERIAL) \
|| ENABLED( Z_IS_TMC2130) \ || defined(Z_HARDWARE_SERIAL ) \
|| ENABLED(Z2_IS_TMC2130) \ || defined(Z2_HARDWARE_SERIAL) \
|| ENABLED(E0_IS_TMC2130) \ || defined(E0_HARDWARE_SERIAL) \
|| ENABLED(E1_IS_TMC2130) \ || defined(E1_HARDWARE_SERIAL) \
|| ENABLED(E2_IS_TMC2130) \ || defined(E2_HARDWARE_SERIAL) \
|| ENABLED(E3_IS_TMC2130) \ || defined(E3_HARDWARE_SERIAL) \
|| ENABLED(E4_IS_TMC2130) ) || defined(E4_HARDWARE_SERIAL) )
#error "HAVE_TMC2130 requires at least one TMC2130 stepper to be set." #error "select hardware UART for TMC2208 to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE."
#elif ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP)
#error "Enable STEALTHCHOP to use HYBRID_THRESHOLD."
#endif
#if ENABLED(X_IS_TMC2130) && !PIN_EXISTS(X_CS)
#error "X_CS_PIN is required for X_IS_TMC2130. Define X_CS_PIN in Configuration_adv.h."
#elif ENABLED(X2_IS_TMC2130) && !PIN_EXISTS(X2_CS)
#error "X2_CS_PIN is required for X2_IS_TMC2130. Define X2_CS_PIN in Configuration_adv.h."
#elif ENABLED(Y_IS_TMC2130) && !PIN_EXISTS(Y_CS)
#error "Y_CS_PIN is required for Y_IS_TMC2130. Define Y_CS_PIN in Configuration_adv.h."
#elif ENABLED(Y2_IS_TMC2130) && !PIN_EXISTS(Y2_CS)
#error "Y2_CS_PIN is required for Y2_IS_TMC2130. Define Y2_CS_PIN in Configuration_adv.h."
#elif ENABLED(Z_IS_TMC2130) && !PIN_EXISTS(Z_CS)
#error "Z_CS_PIN is required for Z_IS_TMC2130. Define Z_CS_PIN in Configuration_adv.h."
#elif ENABLED(Z2_IS_TMC2130) && !PIN_EXISTS(Z2_CS)
#error "Z2_CS_PIN is required for Z2_IS_TMC2130. Define Z2_CS_PIN in Configuration_adv.h."
#elif ENABLED(E0_IS_TMC2130) && !PIN_EXISTS(E0_CS)
#error "E0_CS_PIN is required for E0_IS_TMC2130. Define E0_CS_PIN in Configuration_adv.h."
#elif ENABLED(E1_IS_TMC2130) && !PIN_EXISTS(E1_CS)
#error "E1_CS_PIN is required for E1_IS_TMC2130. Define E1_CS_PIN in Configuration_adv.h."
#elif ENABLED(E2_IS_TMC2130) && !PIN_EXISTS(E2_CS)
#error "E2_CS_PIN is required for E2_IS_TMC2130. Define E2_CS_PIN in Configuration_adv.h."
#elif ENABLED(E3_IS_TMC2130) && !PIN_EXISTS(E3_CS)
#error "E3_CS_PIN is required for E3_IS_TMC2130. Define E3_CS_PIN in Configuration_adv.h."
#elif ENABLED(E4_IS_TMC2130) && !PIN_EXISTS(E4_CS)
#error "E4_CS_PIN is required for E4_IS_TMC2130. Define E4_CS_PIN in Configuration_adv.h."
#endif #endif
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
@@ -1511,151 +1511,18 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
#error "CoreYZ requires both Y and Z to use sensorless homing if either does." #error "CoreYZ requires both Y and Z to use sensorless homing if either does."
#endif #endif
#elif ENABLED(SENSORLESS_HOMING)
#error "SENSORLESS_HOMING requires TMC2130 stepper drivers."
#endif
/**
* TMC2208 Requirements
*/
#if ENABLED(HAVE_TMC2208)
#if !( ENABLED( X_IS_TMC2208) \
|| ENABLED(X2_IS_TMC2208) \
|| ENABLED( Y_IS_TMC2208) \
|| ENABLED(Y2_IS_TMC2208) \
|| ENABLED( Z_IS_TMC2208) \
|| ENABLED(Z2_IS_TMC2208) \
|| ENABLED(E0_IS_TMC2208) \
|| ENABLED(E1_IS_TMC2208) \
|| ENABLED(E2_IS_TMC2208) \
|| ENABLED(E3_IS_TMC2208) \
|| ENABLED(E4_IS_TMC2208 ) )
#error "HAVE_TMC2208 requires at least one TMC2208 stepper to be set."
// Software UART and ENDSTOP_INTERRUPTS both use Pin Change interrupts (PCI)
#elif ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && \
!( defined( X_HARDWARE_SERIAL) \
|| defined(X2_HARDWARE_SERIAL) \
|| defined( Y_HARDWARE_SERIAL) \
|| defined(Y2_HARDWARE_SERIAL) \
|| defined( Z_HARDWARE_SERIAL) \
|| defined(Z2_HARDWARE_SERIAL) \
|| defined(E0_HARDWARE_SERIAL) \
|| defined(E1_HARDWARE_SERIAL) \
|| defined(E2_HARDWARE_SERIAL) \
|| defined(E3_HARDWARE_SERIAL) \
|| defined(E4_HARDWARE_SERIAL) )
#error "Select *_HARDWARE_SERIAL to use both TMC2208 and ENDSTOP_INTERRUPTS_FEATURE."
#endif
#endif
#if ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP) #if ENABLED(HYBRID_THRESHOLD) && DISABLED(STEALTHCHOP)
#error "Enable STEALTHCHOP to use HYBRID_THRESHOLD." #error "Enable STEALTHCHOP to use HYBRID_THRESHOLD."
#endif #endif
#if ENABLED(TMC_Z_CALIBRATION) && !AXIS_IS_TMC(Z) && !AXIS_IS_TMC(Z2)
#if ENABLED(TMC_Z_CALIBRATION) && !Z_IS_TRINAMIC && !Z2_IS_TRINAMIC
#error "TMC_Z_CALIBRATION requires at least one TMC driver on Z axis" #error "TMC_Z_CALIBRATION requires at least one TMC driver on Z axis"
#endif #endif
/** #if ENABLED(SENSORLESS_HOMING) && !HAS_STALLGUARD
* Make sure HAVE_L6470DRIVER is warranted #error "SENSORLESS_HOMING requires TMC2130 or TMC2660 stepper drivers."
*/
#if ENABLED(HAVE_L6470DRIVER) && !( \
ENABLED( X_IS_L6470) \
|| ENABLED(X2_IS_L6470) \
|| ENABLED( Y_IS_L6470) \
|| ENABLED(Y2_IS_L6470) \
|| ENABLED( Z_IS_L6470) \
|| ENABLED(Z2_IS_L6470) \
|| ENABLED(E0_IS_L6470) \
|| ENABLED(E1_IS_L6470) \
|| ENABLED(E2_IS_L6470) \
|| ENABLED(E3_IS_L6470) \
|| ENABLED(E4_IS_L6470) \
)
#error "HAVE_L6470DRIVER requires at least one L6470 stepper to be set."
#endif #endif
#if ENABLED(STEALTHCHOP) && !HAS_STEALTHCHOP
/** #error "STEALTHCHOP requires TMC2130 or TMC2208 stepper drivers."
* Check that each axis has only one driver selected
*/
#if 1 < 0 \
+ ENABLED(X_IS_TMC26X) \
+ ENABLED(X_IS_TMC2130) \
+ ENABLED(X_IS_TMC2208) \
+ ENABLED(X_IS_L6470)
#error "Please enable only one stepper driver for the X axis."
#endif
#if 1 < 0 \
+ ENABLED(X2_IS_TMC26X) \
+ ENABLED(X2_IS_TMC2130) \
+ ENABLED(X2_IS_TMC2208) \
+ ENABLED(X2_IS_L6470)
#error "Please enable only one stepper driver for the X2 axis."
#endif
#if 1 < 0 \
+ ENABLED(Y_IS_TMC26X) \
+ ENABLED(Y_IS_TMC2130) \
+ ENABLED(Y_IS_TMC2208) \
+ ENABLED(Y_IS_L6470)
#error "Please enable only one stepper driver for the Y axis."
#endif
#if 1 < 0 \
+ ENABLED(Y2_IS_TMC26X) \
+ ENABLED(Y2_IS_TMC2130) \
+ ENABLED(Y2_IS_TMC2208) \
+ ENABLED(Y2_IS_L6470)
#error "Please enable only one stepper driver for the Y2 axis."
#endif
#if 1 < 0 \
+ ENABLED(Z_IS_TMC26X) \
+ ENABLED(Z_IS_TMC2130) \
+ ENABLED(Z_IS_TMC2208) \
+ ENABLED(Z_IS_L6470)
#error "Please enable only one stepper driver for the Z axis."
#endif
#if 1 < 0 \
+ ENABLED(Z2_IS_TMC26X) \
+ ENABLED(Z2_IS_TMC2130) \
+ ENABLED(Z2_IS_TMC2208) \
+ ENABLED(Z2_IS_L6470)
#error "Please enable only one stepper driver for the Z2 axis."
#endif
#if 1 < 0 \
+ ENABLED(E0_IS_TMC26X) \
+ ENABLED(E0_IS_TMC2130) \
+ ENABLED(E0_IS_TMC2208) \
+ ENABLED(E0_IS_L6470)
#error "Please enable only one stepper driver for the E0 axis."
#endif
#if 1 < 0 \
+ ENABLED(E1_IS_TMC26X) \
+ ENABLED(E1_IS_TMC2130) \
+ ENABLED(E1_IS_TMC2208) \
+ ENABLED(E1_IS_L6470)
#error "Please enable only one stepper driver for the E1 axis."
#endif
#if 1 < 0 \
+ ENABLED(E2_IS_TMC26X) \
+ ENABLED(E2_IS_TMC2130) \
+ ENABLED(E2_IS_TMC2208) \
+ ENABLED(E2_IS_L6470)
#error "Please enable only one stepper driver for the E2 axis."
#endif
#if 1 < 0 \
+ ENABLED(E3_IS_TMC26X) \
+ ENABLED(E3_IS_TMC2130) \
+ ENABLED(E3_IS_TMC2208) \
+ ENABLED(E3_IS_L6470)
#error "Please enable only one stepper driver for the E3 axis."
#endif
#if 1 < 0 \
+ ENABLED(E4_IS_TMC26X) \
+ ENABLED(E4_IS_TMC2130) \
+ ENABLED(E4_IS_TMC2208) \
+ ENABLED(E4_IS_L6470)
#error "Please enable only one stepper driver for the E4 axis."
#endif #endif
/** /**

View File

@@ -696,57 +696,57 @@ void MarlinSettings::postprocess() {
uint16_t tmc_stepper_current[TMC_AXES] = { uint16_t tmc_stepper_current[TMC_AXES] = {
#if HAS_TRINAMIC #if HAS_TRINAMIC
#if X_IS_TRINAMIC #if AXIS_IS_TMC(X)
stepperX.getCurrent(), stepperX.getCurrent(),
#else #else
0, 0,
#endif #endif
#if Y_IS_TRINAMIC #if AXIS_IS_TMC(Y)
stepperY.getCurrent(), stepperY.getCurrent(),
#else #else
0, 0,
#endif #endif
#if Z_IS_TRINAMIC #if AXIS_IS_TMC(Z)
stepperZ.getCurrent(), stepperZ.getCurrent(),
#else #else
0, 0,
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_IS_TMC(X2)
stepperX2.getCurrent(), stepperX2.getCurrent(),
#else #else
0, 0,
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_IS_TMC(Y2)
stepperY2.getCurrent(), stepperY2.getCurrent(),
#else #else
0, 0,
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_IS_TMC(Z2)
stepperZ2.getCurrent(), stepperZ2.getCurrent(),
#else #else
0, 0,
#endif #endif
#if E0_IS_TRINAMIC #if AXIS_IS_TMC(E0)
stepperE0.getCurrent(), stepperE0.getCurrent(),
#else #else
0, 0,
#endif #endif
#if E1_IS_TRINAMIC #if AXIS_IS_TMC(E1)
stepperE1.getCurrent(), stepperE1.getCurrent(),
#else #else
0, 0,
#endif #endif
#if E2_IS_TRINAMIC #if AXIS_IS_TMC(E2)
stepperE2.getCurrent(), stepperE2.getCurrent(),
#else #else
0, 0,
#endif #endif
#if E3_IS_TRINAMIC #if AXIS_IS_TMC(E3)
stepperE3.getCurrent(), stepperE3.getCurrent(),
#else #else
0, 0,
#endif #endif
#if E4_IS_TRINAMIC #if AXIS_IS_TMC(E4)
stepperE4.getCurrent() stepperE4.getCurrent()
#else #else
0 0
@@ -765,57 +765,57 @@ void MarlinSettings::postprocess() {
uint32_t tmc_hybrid_threshold[TMC_AXES] = { uint32_t tmc_hybrid_threshold[TMC_AXES] = {
#if ENABLED(HYBRID_THRESHOLD) #if ENABLED(HYBRID_THRESHOLD)
#if X_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(X)
TMC_GET_PWMTHRS(X, X), TMC_GET_PWMTHRS(X, X),
#else #else
X_HYBRID_THRESHOLD, X_HYBRID_THRESHOLD,
#endif #endif
#if Y_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Y)
TMC_GET_PWMTHRS(Y, Y), TMC_GET_PWMTHRS(Y, Y),
#else #else
Y_HYBRID_THRESHOLD, Y_HYBRID_THRESHOLD,
#endif #endif
#if Z_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Z)
TMC_GET_PWMTHRS(Z, Z), TMC_GET_PWMTHRS(Z, Z),
#else #else
Z_HYBRID_THRESHOLD, Z_HYBRID_THRESHOLD,
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(X2)
TMC_GET_PWMTHRS(X, X2), TMC_GET_PWMTHRS(X, X2),
#else #else
X2_HYBRID_THRESHOLD, X2_HYBRID_THRESHOLD,
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Y2)
TMC_GET_PWMTHRS(Y, Y2), TMC_GET_PWMTHRS(Y, Y2),
#else #else
Y2_HYBRID_THRESHOLD, Y2_HYBRID_THRESHOLD,
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Z2)
TMC_GET_PWMTHRS(Z, Z2), TMC_GET_PWMTHRS(Z, Z2),
#else #else
Z2_HYBRID_THRESHOLD, Z2_HYBRID_THRESHOLD,
#endif #endif
#if E0_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E0)
TMC_GET_PWMTHRS(E, E0), TMC_GET_PWMTHRS(E, E0),
#else #else
E0_HYBRID_THRESHOLD, E0_HYBRID_THRESHOLD,
#endif #endif
#if E1_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E1)
TMC_GET_PWMTHRS(E, E1), TMC_GET_PWMTHRS(E, E1),
#else #else
E1_HYBRID_THRESHOLD, E1_HYBRID_THRESHOLD,
#endif #endif
#if E2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E2)
TMC_GET_PWMTHRS(E, E2), TMC_GET_PWMTHRS(E, E2),
#else #else
E2_HYBRID_THRESHOLD, E2_HYBRID_THRESHOLD,
#endif #endif
#if E3_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E3)
TMC_GET_PWMTHRS(E, E3), TMC_GET_PWMTHRS(E, E3),
#else #else
E3_HYBRID_THRESHOLD, E3_HYBRID_THRESHOLD,
#endif #endif
#if E4_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E4)
TMC_GET_PWMTHRS(E, E4) TMC_GET_PWMTHRS(E, E4)
#else #else
E4_HYBRID_THRESHOLD E4_HYBRID_THRESHOLD
@@ -833,17 +833,17 @@ void MarlinSettings::postprocess() {
// //
int16_t tmc_sgt[XYZ] = { int16_t tmc_sgt[XYZ] = {
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
#if defined(X_HOMING_SENSITIVITY) && (ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS)) #if X_SENSORLESS
stepperX.sgt(), stepperX.sgt(),
#else #else
0, 0,
#endif #endif
#if defined(Y_HOMING_SENSITIVITY) && (ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS)) #if Y_SENSORLESS
stepperY.sgt(), stepperY.sgt(),
#else #else
0, 0,
#endif #endif
#if defined(Z_HOMING_SENSITIVITY) && (ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS)) #if Z_SENSORLESS
stepperZ.sgt() stepperZ.sgt()
#else #else
0 0
@@ -1325,37 +1325,37 @@ void MarlinSettings::postprocess() {
uint16_t currents[TMC_AXES]; uint16_t currents[TMC_AXES];
EEPROM_READ(currents); EEPROM_READ(currents);
if (!validating) { if (!validating) {
#if X_IS_TRINAMIC #if AXIS_IS_TMC(X)
SET_CURR(X); SET_CURR(X);
#endif #endif
#if Y_IS_TRINAMIC #if AXIS_IS_TMC(Y)
SET_CURR(Y); SET_CURR(Y);
#endif #endif
#if Z_IS_TRINAMIC #if AXIS_IS_TMC(Z)
SET_CURR(Z); SET_CURR(Z);
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_IS_TMC(X2)
SET_CURR(X2); SET_CURR(X2);
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_IS_TMC(Y2)
SET_CURR(Y2); SET_CURR(Y2);
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_IS_TMC(Z2)
SET_CURR(Z2); SET_CURR(Z2);
#endif #endif
#if E0_IS_TRINAMIC #if AXIS_IS_TMC(E0)
SET_CURR(E0); SET_CURR(E0);
#endif #endif
#if E1_IS_TRINAMIC #if AXIS_IS_TMC(E1)
SET_CURR(E1); SET_CURR(E1);
#endif #endif
#if E2_IS_TRINAMIC #if AXIS_IS_TMC(E2)
SET_CURR(E2); SET_CURR(E2);
#endif #endif
#if E3_IS_TRINAMIC #if AXIS_IS_TMC(E3)
SET_CURR(E3); SET_CURR(E3);
#endif #endif
#if E4_IS_TRINAMIC #if AXIS_IS_TMC(E4)
SET_CURR(E4); SET_CURR(E4);
#endif #endif
} }
@@ -1369,37 +1369,37 @@ void MarlinSettings::postprocess() {
uint32_t tmc_hybrid_threshold[TMC_AXES]; uint32_t tmc_hybrid_threshold[TMC_AXES];
EEPROM_READ(tmc_hybrid_threshold); EEPROM_READ(tmc_hybrid_threshold);
if (!validating) { if (!validating) {
#if X_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(X)
TMC_SET_PWMTHRS(X, X); TMC_SET_PWMTHRS(X, X);
#endif #endif
#if Y_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Y)
TMC_SET_PWMTHRS(Y, Y); TMC_SET_PWMTHRS(Y, Y);
#endif #endif
#if Z_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Z)
TMC_SET_PWMTHRS(Z, Z); TMC_SET_PWMTHRS(Z, Z);
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(X2)
TMC_SET_PWMTHRS(X, X2); TMC_SET_PWMTHRS(X, X2);
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Y2)
TMC_SET_PWMTHRS(Y, Y2); TMC_SET_PWMTHRS(Y, Y2);
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(Z2)
TMC_SET_PWMTHRS(Z, Z2); TMC_SET_PWMTHRS(Z, Z2);
#endif #endif
#if E0_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E0)
TMC_SET_PWMTHRS(E, E0); TMC_SET_PWMTHRS(E, E0);
#endif #endif
#if E1_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E1)
TMC_SET_PWMTHRS(E, E1); TMC_SET_PWMTHRS(E, E1);
#endif #endif
#if E2_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E2)
TMC_SET_PWMTHRS(E, E2); TMC_SET_PWMTHRS(E, E2);
#endif #endif
#if E3_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E3)
TMC_SET_PWMTHRS(E, E3); TMC_SET_PWMTHRS(E, E3);
#endif #endif
#if E4_IS_TRINAMIC #if AXIS_HAS_STEALTHCHOP(E4)
TMC_SET_PWMTHRS(E, E4); TMC_SET_PWMTHRS(E, E4);
#endif #endif
} }
@@ -1419,26 +1419,26 @@ void MarlinSettings::postprocess() {
#if ENABLED(SENSORLESS_HOMING) #if ENABLED(SENSORLESS_HOMING)
if (!validating) { if (!validating) {
#ifdef X_HOMING_SENSITIVITY #ifdef X_HOMING_SENSITIVITY
#if ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(X)
stepperX.sgt(tmc_sgt[0]); stepperX.sgt(tmc_sgt[0]);
#endif #endif
#if ENABLED(X2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(X2)
stepperX2.sgt(tmc_sgt[0]); stepperX2.sgt(tmc_sgt[0]);
#endif #endif
#endif #endif
#ifdef Y_HOMING_SENSITIVITY #ifdef Y_HOMING_SENSITIVITY
#if ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(Y)
stepperY.sgt(tmc_sgt[1]); stepperY.sgt(tmc_sgt[1]);
#endif #endif
#if ENABLED(Y2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(Y2)
stepperY2.sgt(tmc_sgt[1]); stepperY2.sgt(tmc_sgt[1]);
#endif #endif
#endif #endif
#ifdef Z_HOMING_SENSITIVITY #ifdef Z_HOMING_SENSITIVITY
#if ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS) #if AXIS_HAS_STALLGUARD(Z)
stepperZ.sgt(tmc_sgt[2]); stepperZ.sgt(tmc_sgt[2]);
#endif #endif
#if ENABLED(Z2_IS_TMC2130) #if AXIS_HAS_STALLGUARD(Z2)
stepperZ2.sgt(tmc_sgt[2]); stepperZ2.sgt(tmc_sgt[2]);
#endif #endif
#endif #endif
@@ -2428,61 +2428,61 @@ void MarlinSettings::reset() {
#if HAS_TRINAMIC #if HAS_TRINAMIC
/** /**
* TMC2130 / TMC2208 / TRAMS stepper driver current * TMC2130 / TMC2208 stepper driver current
*/ */
if (!forReplay) { if (!forReplay) {
CONFIG_ECHO_START; CONFIG_ECHO_START;
SERIAL_ECHOLNPGM("Stepper driver current:"); SERIAL_ECHOLNPGM("Stepper driver current:");
} }
CONFIG_ECHO_START; CONFIG_ECHO_START;
#if X_IS_TRINAMIC || Y_IS_TRINAMIC || Z_IS_TRINAMIC #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
say_M906(); say_M906();
#endif #endif
#if X_IS_TRINAMIC #if AXIS_IS_TMC(X)
SERIAL_ECHOPAIR(" X", stepperX.getCurrent()); SERIAL_ECHOPAIR(" X", stepperX.getCurrent());
#endif #endif
#if Y_IS_TRINAMIC #if AXIS_IS_TMC(Y)
SERIAL_ECHOPAIR(" Y", stepperY.getCurrent()); SERIAL_ECHOPAIR(" Y", stepperY.getCurrent());
#endif #endif
#if Z_IS_TRINAMIC #if AXIS_IS_TMC(Z)
SERIAL_ECHOPAIR(" Z", stepperZ.getCurrent()); SERIAL_ECHOPAIR(" Z", stepperZ.getCurrent());
#endif #endif
#if X_IS_TRINAMIC || Y_IS_TRINAMIC || Z_IS_TRINAMIC #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
SERIAL_EOL(); SERIAL_EOL();
#endif #endif
#if X2_IS_TRINAMIC || Y2_IS_TRINAMIC || Z2_IS_TRINAMIC #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
say_M906(); say_M906();
SERIAL_ECHOPGM(" I1"); SERIAL_ECHOPGM(" I1");
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_IS_TMC(X2)
SERIAL_ECHOPAIR(" X", stepperX2.getCurrent()); SERIAL_ECHOPAIR(" X", stepperX2.getCurrent());
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_IS_TMC(Y2)
SERIAL_ECHOPAIR(" Y", stepperY2.getCurrent()); SERIAL_ECHOPAIR(" Y", stepperY2.getCurrent());
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_IS_TMC(Z2)
SERIAL_ECHOPAIR(" Z", stepperZ2.getCurrent()); SERIAL_ECHOPAIR(" Z", stepperZ2.getCurrent());
#endif #endif
#if X2_IS_TRINAMIC || Y2_IS_TRINAMIC || Z2_IS_TRINAMIC #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
SERIAL_EOL(); SERIAL_EOL();
#endif #endif
#if E0_IS_TRINAMIC #if AXIS_IS_TMC(E0)
say_M906(); say_M906();
SERIAL_ECHOLNPAIR(" T0 E", stepperE0.getCurrent()); SERIAL_ECHOLNPAIR(" T0 E", stepperE0.getCurrent());
#endif #endif
#if E_STEPPERS > 1 && E1_IS_TRINAMIC #if E_STEPPERS > 1 && AXIS_IS_TMC(E1)
say_M906(); say_M906();
SERIAL_ECHOLNPAIR(" T1 E", stepperE1.getCurrent()); SERIAL_ECHOLNPAIR(" T1 E", stepperE1.getCurrent());
#endif #endif
#if E_STEPPERS > 2 && E2_IS_TRINAMIC #if E_STEPPERS > 2 && AXIS_IS_TMC(E2)
say_M906(); say_M906();
SERIAL_ECHOLNPAIR(" T2 E", stepperE2.getCurrent()); SERIAL_ECHOLNPAIR(" T2 E", stepperE2.getCurrent());
#endif #endif
#if E_STEPPERS > 3 && E3_IS_TRINAMIC #if E_STEPPERS > 3 && AXIS_IS_TMC(E3)
say_M906(); say_M906();
SERIAL_ECHOLNPAIR(" T3 E", stepperE3.getCurrent()); SERIAL_ECHOLNPAIR(" T3 E", stepperE3.getCurrent());
#endif #endif
#if E_STEPPERS > 4 && E4_IS_TRINAMIC #if E_STEPPERS > 4 && AXIS_IS_TMC(E4)
say_M906(); say_M906();
SERIAL_ECHOLNPAIR(" T4 E", stepperE4.getCurrent()); SERIAL_ECHOLNPAIR(" T4 E", stepperE4.getCurrent());
#endif #endif
@@ -2497,54 +2497,54 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM("Hybrid Threshold:"); SERIAL_ECHOLNPGM("Hybrid Threshold:");
} }
CONFIG_ECHO_START; CONFIG_ECHO_START;
#if X_IS_TRINAMIC || Y_IS_TRINAMIC || Z_IS_TRINAMIC #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
say_M913(); say_M913();
#endif #endif
#if X_IS_TRINAMIC #if AXIS_IS_TMC(X)
SERIAL_ECHOPAIR(" X", TMC_GET_PWMTHRS(X, X)); SERIAL_ECHOPAIR(" X", TMC_GET_PWMTHRS(X, X));
#endif #endif
#if Y_IS_TRINAMIC #if AXIS_IS_TMC(Y)
SERIAL_ECHOPAIR(" Y", TMC_GET_PWMTHRS(Y, Y)); SERIAL_ECHOPAIR(" Y", TMC_GET_PWMTHRS(Y, Y));
#endif #endif
#if Z_IS_TRINAMIC #if AXIS_IS_TMC(Z)
SERIAL_ECHOPAIR(" Z", TMC_GET_PWMTHRS(Z, Z)); SERIAL_ECHOPAIR(" Z", TMC_GET_PWMTHRS(Z, Z));
#endif #endif
#if X_IS_TRINAMIC || Y_IS_TRINAMIC || Z_IS_TRINAMIC #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
SERIAL_EOL(); SERIAL_EOL();
#endif #endif
#if X2_IS_TRINAMIC || Y2_IS_TRINAMIC || Z2_IS_TRINAMIC #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
say_M913(); say_M913();
SERIAL_ECHOPGM(" I1"); SERIAL_ECHOPGM(" I1");
#endif #endif
#if X2_IS_TRINAMIC #if AXIS_IS_TMC(X2)
SERIAL_ECHOPAIR(" X", TMC_GET_PWMTHRS(X, X2)); SERIAL_ECHOPAIR(" X", TMC_GET_PWMTHRS(X, X2));
#endif #endif
#if Y2_IS_TRINAMIC #if AXIS_IS_TMC(Y2)
SERIAL_ECHOPAIR(" Y", TMC_GET_PWMTHRS(Y, Y2)); SERIAL_ECHOPAIR(" Y", TMC_GET_PWMTHRS(Y, Y2));
#endif #endif
#if Z2_IS_TRINAMIC #if AXIS_IS_TMC(Z2)
SERIAL_ECHOPAIR(" Z", TMC_GET_PWMTHRS(Z, Z2)); SERIAL_ECHOPAIR(" Z", TMC_GET_PWMTHRS(Z, Z2));
#endif #endif
#if X2_IS_TRINAMIC || Y2_IS_TRINAMIC || Z2_IS_TRINAMIC #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
SERIAL_EOL(); SERIAL_EOL();
#endif #endif
#if E0_IS_TRINAMIC #if AXIS_IS_TMC(E0)
say_M913(); say_M913();
SERIAL_ECHOLNPAIR(" T0 E", TMC_GET_PWMTHRS(E, E0)); SERIAL_ECHOLNPAIR(" T0 E", TMC_GET_PWMTHRS(E, E0));
#endif #endif
#if E_STEPPERS > 1 && E1_IS_TRINAMIC #if E_STEPPERS > 1 && AXIS_IS_TMC(E1)
say_M913(); say_M913();
SERIAL_ECHOLNPAIR(" T1 E", TMC_GET_PWMTHRS(E, E1)); SERIAL_ECHOLNPAIR(" T1 E", TMC_GET_PWMTHRS(E, E1));
#endif #endif
#if E_STEPPERS > 2 && E2_IS_TRINAMIC #if E_STEPPERS > 2 && AXIS_IS_TMC(E2)
say_M913(); say_M913();
SERIAL_ECHOLNPAIR(" T2 E", TMC_GET_PWMTHRS(E, E2)); SERIAL_ECHOLNPAIR(" T2 E", TMC_GET_PWMTHRS(E, E2));
#endif #endif
#if E_STEPPERS > 3 && E3_IS_TRINAMIC #if E_STEPPERS > 3 && AXIS_IS_TMC(E3)
say_M913(); say_M913();
SERIAL_ECHOLNPAIR(" T3 E", TMC_GET_PWMTHRS(E, E3)); SERIAL_ECHOLNPAIR(" T3 E", TMC_GET_PWMTHRS(E, E3));
#endif #endif
#if E_STEPPERS > 4 && E4_IS_TRINAMIC #if E_STEPPERS > 4 && AXIS_IS_TMC(E4)
say_M913(); say_M913();
SERIAL_ECHOLNPAIR(" T4 E", TMC_GET_PWMTHRS(E, E4)); SERIAL_ECHOLNPAIR(" T4 E", TMC_GET_PWMTHRS(E, E4));
#endif #endif
@@ -2560,36 +2560,33 @@ void MarlinSettings::reset() {
SERIAL_ECHOLNPGM("Sensorless homing threshold:"); SERIAL_ECHOLNPGM("Sensorless homing threshold:");
} }
CONFIG_ECHO_START; CONFIG_ECHO_START;
#define HAS_X_SENSORLESS (defined(X_HOMING_SENSITIVITY) && (ENABLED(X_IS_TMC2130) || ENABLED(IS_TRAMS))) #if X_SENSORLESS || Y_SENSORLESS || Z_SENSORLESS
#define HAS_Y_SENSORLESS (defined(Y_HOMING_SENSITIVITY) && (ENABLED(Y_IS_TMC2130) || ENABLED(IS_TRAMS)))
#define HAS_Z_SENSORLESS (defined(Z_HOMING_SENSITIVITY) && (ENABLED(Z_IS_TMC2130) || ENABLED(IS_TRAMS)))
#if HAS_X_SENSORLESS || HAS_Y_SENSORLESS || HAS_Z_SENSORLESS
say_M914(); say_M914();
#if HAS_X_SENSORLESS #if X_SENSORLESS
SERIAL_ECHOPAIR(" X", stepperX.sgt()); SERIAL_ECHOPAIR(" X", stepperX.sgt());
#endif #endif
#if HAS_Y_SENSORLESS #if Y_SENSORLESS
SERIAL_ECHOPAIR(" Y", stepperY.sgt()); SERIAL_ECHOPAIR(" Y", stepperY.sgt());
#endif #endif
#if HAS_Z_SENSORLESS #if Z_SENSORLESS
SERIAL_ECHOPAIR(" Z", stepperZ.sgt()); SERIAL_ECHOPAIR(" Z", stepperZ.sgt());
#endif #endif
SERIAL_EOL(); SERIAL_EOL();
#endif #endif
#define HAS_X2_SENSORLESS (defined(X_HOMING_SENSITIVITY) && ENABLED(X2_IS_TMC2130)) #define X2_SENSORLESS (defined(X_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(X2))
#define HAS_Y2_SENSORLESS (defined(Y_HOMING_SENSITIVITY) && ENABLED(Y2_IS_TMC2130)) #define Y2_SENSORLESS (defined(Y_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(Y2))
#define HAS_Z2_SENSORLESS (defined(Z_HOMING_SENSITIVITY) && ENABLED(Z2_IS_TMC2130)) #define Z2_SENSORLESS (defined(Z_HOMING_SENSITIVITY) && AXIS_HAS_STALLGUARD(Z2))
#if HAS_X2_SENSORLESS || HAS_Y2_SENSORLESS || HAS_Z2_SENSORLESS #if X2_SENSORLESS || Y2_SENSORLESS || Z2_SENSORLESS
say_M914(); say_M914();
SERIAL_ECHOPGM(" I1"); SERIAL_ECHOPGM(" I1");
#if HAS_X2_SENSORLESS #if X2_SENSORLESS
SERIAL_ECHOPAIR(" X", stepperX2.sgt()); SERIAL_ECHOPAIR(" X", stepperX2.sgt());
#endif #endif
#if HAS_Y2_SENSORLESS #if Y2_SENSORLESS
SERIAL_ECHOPAIR(" Y", stepperY2.sgt()); SERIAL_ECHOPAIR(" Y", stepperY2.sgt());
#endif #endif
#if HAS_Z2_SENSORLESS #if Z2_SENSORLESS
SERIAL_ECHOPAIR(" Z", stepperZ2.sgt()); SERIAL_ECHOPAIR(" Z", stepperZ2.sgt());
#endif #endif
SERIAL_EOL(); SERIAL_EOL();

60
Marlin/drivers.h Normal file
View File

@@ -0,0 +1,60 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef _DRIVERS_H_
#define _DRIVERS_H_
#define A4988 0x001
#define DRV8825 0x002
#define LV8729 0x003
#define L6470 0x104
#define TB6560 0x005
#define TB6600 0x006
#define TMC2100 0x007
#define TMC2130 0x108
#define TMC2130_STANDALONE 0x008
#define TMC2208 0x109
#define TMC2208_STANDALONE 0x009
#define TMC26X 0x10A
#define TMC26X_STANDALONE 0x00A
#define TMC2660 0x10B
#define TMC2660_STANDALONE 0x00B
#define AXIS_DRIVER_TYPE(A, T) ( defined(A##_DRIVER_TYPE) && (A##_DRIVER_TYPE == T) )
#define HAS_DRIVER(T) (AXIS_DRIVER_TYPE( X,T) || AXIS_DRIVER_TYPE(X2,T) || \
AXIS_DRIVER_TYPE( Y,T) || AXIS_DRIVER_TYPE(Y2,T) || \
AXIS_DRIVER_TYPE( Z,T) || AXIS_DRIVER_TYPE(Z2,T) || \
AXIS_DRIVER_TYPE(E0,T) || \
AXIS_DRIVER_TYPE(E1,T) || \
AXIS_DRIVER_TYPE(E2,T) || \
AXIS_DRIVER_TYPE(E3,T) || \
AXIS_DRIVER_TYPE(E4,T) )
// Test for supported TMC drivers that require advanced configuration
// Does not match standalone configurations
#define HAS_TRINAMIC ( HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2660) )
#define AXIS_IS_TMC(A) ( AXIS_DRIVER_TYPE(A, TMC2130) || \
AXIS_DRIVER_TYPE(A, TMC2208) || \
AXIS_DRIVER_TYPE(A, TMC2660) )
#endif // _DRIVERS_H_

View File

@@ -549,6 +549,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -549,6 +549,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
#define ENDSTOP_INTERRUPTS_FEATURE #define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -536,6 +536,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
#define ENDSTOP_INTERRUPTS_FEATURE #define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -517,6 +517,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -530,6 +530,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
#define ENDSTOP_INTERRUPTS_FEATURE #define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -829,7 +829,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -840,7 +840,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -852,7 +852,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1020,23 +1020,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1087,34 +1076,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1122,22 +1093,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1292,25 +1248,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -517,6 +517,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -528,6 +528,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -539,6 +539,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -548,6 +548,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -539,6 +539,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -533,6 +533,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -533,6 +533,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -539,6 +539,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -510,6 +510,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -510,6 +510,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -534,6 +534,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -544,6 +544,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -544,6 +544,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -544,6 +544,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -533,6 +533,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -541,6 +541,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -538,6 +538,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -525,6 +525,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -542,6 +542,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -580,6 +580,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
#define ENDSTOP_INTERRUPTS_FEATURE #define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -540,6 +540,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -559,6 +559,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -824,7 +824,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -835,7 +835,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -847,7 +847,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1015,23 +1015,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1082,34 +1071,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1117,22 +1088,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1287,25 +1243,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -821,7 +821,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -832,7 +832,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -844,7 +844,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1012,23 +1012,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1079,34 +1068,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1114,22 +1085,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1284,25 +1240,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -539,6 +539,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -823,7 +823,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -834,7 +834,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -846,7 +846,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1014,23 +1014,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1081,34 +1070,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1116,22 +1087,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1286,25 +1242,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -529,6 +529,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -605,6 +605,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -823,7 +823,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -834,7 +834,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -846,7 +846,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1014,23 +1014,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1081,34 +1070,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1116,22 +1087,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1286,25 +1242,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -605,6 +605,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -823,7 +823,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -834,7 +834,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -846,7 +846,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1014,23 +1014,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1081,34 +1070,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1116,22 +1087,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1286,25 +1242,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -605,6 +605,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -823,7 +823,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -834,7 +834,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -846,7 +846,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1014,23 +1014,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1081,34 +1070,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1116,22 +1087,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1286,25 +1242,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -610,6 +610,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -595,6 +595,29 @@
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -823,7 +823,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -834,7 +834,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -846,7 +846,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1014,23 +1014,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1081,34 +1070,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1116,22 +1087,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1286,25 +1242,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -595,6 +595,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -823,7 +823,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -834,7 +834,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -846,7 +846,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1014,23 +1014,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1081,34 +1070,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1116,22 +1087,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1286,25 +1242,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

View File

@@ -581,6 +581,29 @@
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Specify Stepper Driver types
* The options are used to determine driver pulse timings as well as more advanced functionality.
* Stepper timing options can be overridden in Configuration_adv.h
*
* Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
* TMC5130, TMC5130_STANDALONE
* :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
// Enable this feature if all enabled endstop pins are interrupt-capable. // Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles. // This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE //#define ENDSTOP_INTERRUPTS_FEATURE

View File

@@ -828,7 +828,7 @@
* 1500 : Minimum for TB6600 drivers (guess, no info in datasheet) * 1500 : Minimum for TB6600 drivers (guess, no info in datasheet)
* 15000 : Minimum for TB6560 drivers (guess, no info in datasheet) * 15000 : Minimum for TB6560 drivers (guess, no info in datasheet)
*/ */
#define MINIMUM_STEPPER_DIR_DELAY 0 //#define MINIMUM_STEPPER_DIR_DELAY 650
/** /**
* Minimum stepper driver pulse width (in µs) * Minimum stepper driver pulse width (in µs)
@@ -839,7 +839,7 @@
* 3 : Minimum for TB6600 stepper drivers * 3 : Minimum for TB6600 stepper drivers
* 30 : Minimum for TB6560 stepper drivers * 30 : Minimum for TB6560 stepper drivers
*/ */
#define MINIMUM_STEPPER_PULSE 2 //#define MINIMUM_STEPPER_PULSE 2
/** /**
* Maximum stepping rate (in Hz) the stepper driver allows * Maximum stepping rate (in Hz) the stepper driver allows
@@ -851,7 +851,7 @@
* 130000 : Maximum for LV8729 stepper driver * 130000 : Maximum for LV8729 stepper driver
* 15000 : Maximum for TB6560 stepper driver * 15000 : Maximum for TB6560 stepper driver
*/ */
#define MAXIMUM_STEPPER_RATE 250000 //#define MAXIMUM_STEPPER_RATE 250000
// @section temperature // @section temperature
@@ -1019,23 +1019,12 @@
// @section tmc // @section tmc
/** /**
* Enable this section if you have TMC26X motor drivers. * TMC26X Stepper Driver options
* You will need to import the TMC26XStepper library into the Arduino IDE for this *
* (https://github.com/trinamic/TMC26XStepper.git) * The TMC26XStepper library is required for this stepper driver.
* https://github.com/trinamic/TMC26XStepper
*/ */
//#define HAVE_TMC26X #if HAS_DRIVER(TMC26X)
#if ENABLED(HAVE_TMC26X) // Choose your axes here. This is mandatory!
//#define X_IS_TMC26X
//#define X2_IS_TMC26X
//#define Y_IS_TMC26X
//#define Y2_IS_TMC26X
//#define Z_IS_TMC26X
//#define Z2_IS_TMC26X
//#define E0_IS_TMC26X
//#define E1_IS_TMC26X
//#define E2_IS_TMC26X
//#define E3_IS_TMC26X
//#define E4_IS_TMC26X
#define X_MAX_CURRENT 1000 // in mA #define X_MAX_CURRENT 1000 // in mA
#define X_SENSE_RESISTOR 91 // in mOhms #define X_SENSE_RESISTOR 91 // in mOhms
@@ -1086,34 +1075,16 @@
// @section tmc_smart // @section tmc_smart
/** /**
* Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
*
* You'll also need the TMC2130Stepper Arduino library
* (https://github.com/teemuatlut/TMC2130Stepper).
*
* To use TMC2130 stepper drivers in SPI mode connect your SPI pins to * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
* the hardware SPI interface on your board and define the required CS pins * 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.). * 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. * You may also use software SPI if you wish to use general purpose IO pins.
*/ *
//#define HAVE_TMC2130 * You'll also need the TMC2130Stepper Arduino library
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory! * (https://github.com/teemuatlut/TMC2130Stepper).
//#define X_IS_TMC2130 *
//#define X2_IS_TMC2130 * To use TMC2208 stepper UART-configurable stepper drivers
//#define Y_IS_TMC2130 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
//#define Y2_IS_TMC2130
//#define Z_IS_TMC2130
//#define Z2_IS_TMC2130
//#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
/**
* Enable this for SilentStepStick Trinamic TMC2208 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 use the reading capabilities, also connect #_SERIAL_RX_PIN
* to PDN_UART without a resistor. * to PDN_UART without a resistor.
* The drivers can also be used with hardware serial. * The drivers can also be used with hardware serial.
@@ -1121,22 +1092,7 @@
* You'll also need the TMC2208Stepper Arduino library * You'll also need the TMC2208Stepper Arduino library
* (https://github.com/teemuatlut/TMC2208Stepper). * (https://github.com/teemuatlut/TMC2208Stepper).
*/ */
//#define HAVE_TMC2208 #if HAS_TRINAMIC
#if ENABLED(HAVE_TMC2208) // Choose your axes here. This is mandatory!
//#define X_IS_TMC2208
//#define X2_IS_TMC2208
//#define Y_IS_TMC2208
//#define Y2_IS_TMC2208
//#define Z_IS_TMC2208
//#define Z2_IS_TMC2208
//#define E0_IS_TMC2208
//#define E1_IS_TMC2208
//#define E2_IS_TMC2208
//#define E3_IS_TMC2208
//#define E4_IS_TMC2208
#endif
#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)
#define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
@@ -1291,25 +1247,12 @@
// @section L6470 // @section L6470
/** /**
* Enable this section if you have L6470 motor drivers. * L6470 Stepper Driver options
* You need to import the L6470 library into the Arduino IDE for this. *
* (https://github.com/ameyer/Arduino-L6470) * The Arduino-L6470 library is required for this stepper driver.
* https://github.com/ameyer/Arduino-L6470
*/ */
#if HAS_DRIVER(L6470)
//#define HAVE_L6470DRIVER
#if ENABLED(HAVE_L6470DRIVER)
//#define X_IS_L6470
//#define X2_IS_L6470
//#define Y_IS_L6470
//#define Y2_IS_L6470
//#define Z_IS_L6470
//#define Z2_IS_L6470
//#define E0_IS_L6470
//#define E1_IS_L6470
//#define E2_IS_L6470
//#define E3_IS_L6470
//#define E4_IS_L6470
#define X_MICROSTEPS 16 // number of microsteps #define X_MICROSTEPS 16 // number of microsteps
#define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off #define X_OVERCURRENT 2000 // maxc current in mA. If the current goes over this value, the driver will switch off

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