Add TMC2209 support (#14249)
This commit is contained in:
parent
ed0c70f0a0
commit
4df4c47994
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1716,7 +1716,6 @@
|
||||
//#define E5_CS_PIN -1
|
||||
|
||||
/**
|
||||
* Use software SPI for TMC2130.
|
||||
* Software option for SPI driven drivers (TMC2130, TMC2160, TMC2660, TMC5130 and TMC5160).
|
||||
* The default SW SPI pins are defined the respective pins files,
|
||||
* but you can override or define them here.
|
||||
@ -1726,6 +1725,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
@ -1735,7 +1757,7 @@
|
||||
//#define SOFTWARE_DRIVER_ENABLE
|
||||
|
||||
/**
|
||||
* TMC2130, TMC2160, TMC2208, TMC5130 and TMC5160 only
|
||||
* TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
|
||||
* Use Trinamic's ultra quiet stepping mode.
|
||||
* When disabled, Marlin will use spreadCycle stepping mode.
|
||||
*/
|
||||
@ -1761,7 +1783,7 @@
|
||||
|
||||
/**
|
||||
* Monitor Trinamic drivers for error conditions,
|
||||
* like overtemperature and short to ground. TMC2208 requires hardware serial.
|
||||
* like overtemperature and short to ground.
|
||||
* In the case of overtemperature Marlin can decrease the driver current until error condition clears.
|
||||
* Other detected conditions can be used to stop the current print.
|
||||
* Relevant g-codes:
|
||||
@ -1779,7 +1801,7 @@
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC2130, TMC2160, TMC2208, TMC5130 and TMC5160 only
|
||||
* TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
|
||||
* The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
|
||||
* This mode allows for faster movements at the expense of higher noise levels.
|
||||
* STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
|
||||
@ -1802,7 +1824,7 @@
|
||||
#define E5_HYBRID_THRESHOLD 30
|
||||
|
||||
/**
|
||||
* TMC2130, TMC2160, TMC2660, TMC5130, and TMC5160 only
|
||||
* TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only
|
||||
* Use StallGuard2 to sense an obstacle and trigger an endstop.
|
||||
* Connect the stepper driver's DIAG1 pin to the X/Y endstop pin.
|
||||
* X, Y, and Z homing will always be done in spreadCycle mode.
|
||||
@ -1814,7 +1836,7 @@
|
||||
* It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
|
||||
* M914 X/Y/Z to live tune the setting
|
||||
*/
|
||||
//#define SENSORLESS_HOMING // TMC2130 only
|
||||
//#define SENSORLESS_HOMING // StallGuard capable drivers only
|
||||
|
||||
/**
|
||||
* Use StallGuard2 to probe the bed with the nozzle.
|
||||
@ -1822,9 +1844,10 @@
|
||||
* CAUTION: This could cause damage to machines that use a lead screw or threaded rod
|
||||
* to move the Z axis. Take extreme care when attempting to enable this feature.
|
||||
*/
|
||||
//#define SENSORLESS_PROBING // TMC2130 only
|
||||
//#define SENSORLESS_PROBING // StallGuard capable drivers only
|
||||
|
||||
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
|
||||
// TMC2209: 0...255. TMC2130: -64...63
|
||||
#define X_STALL_SENSITIVITY 8
|
||||
#define Y_STALL_SENSITIVITY 8
|
||||
//#define Z_STALL_SENSITIVITY 8
|
||||
|
@ -593,7 +593,7 @@ ifeq ($(U8GLIB), 1)
|
||||
endif
|
||||
|
||||
ifeq ($(TMC), 1)
|
||||
LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp
|
||||
LIB_CXXSRC += TMCStepper.cpp COOLCONF.cpp DRV_STATUS.cpp IHOLD_IRUN.cpp CHOPCONF.cpp GCONF.cpp PWMCONF.cpp DRV_CONF.cpp DRVCONF.cpp DRVCTRL.cpp DRVSTATUS.cpp ENCMODE.cpp RAMP_STAT.cpp SGCSCONF.cpp SHORT_CONF.cpp SMARTEN.cpp SW_MODE.cpp SW_SPI.cpp TMC2130Stepper.cpp TMC2208Stepper.cpp TMC2209Stepper.cpp TMC2660Stepper.cpp TMC5130Stepper.cpp TMC5160Stepper.cpp
|
||||
endif
|
||||
|
||||
ifeq ($(RELOC_WORKAROUND), 1)
|
||||
|
@ -861,8 +861,8 @@ void setup() {
|
||||
|
||||
setup_killpin();
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
tmc2208_serial_begin();
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
tmc_serial_begin();
|
||||
#endif
|
||||
|
||||
setup_powerhold();
|
||||
|
@ -37,6 +37,8 @@
|
||||
#define _TMC2160_STANDALONE 2161
|
||||
#define _TMC2208 2208
|
||||
#define _TMC2208_STANDALONE 0x00A
|
||||
#define _TMC2209 2209
|
||||
#define _TMC2209_STANDALONE 0x00D
|
||||
#define _TMC26X 0x10B
|
||||
#define _TMC26X_STANDALONE 0x00B
|
||||
#define _TMC2660 2660
|
||||
@ -77,6 +79,7 @@
|
||||
#define HAS_TRINAMIC ( HAS_DRIVER(TMC2130) \
|
||||
|| HAS_DRIVER(TMC2160) \
|
||||
|| HAS_DRIVER(TMC2208) \
|
||||
|| HAS_DRIVER(TMC2209) \
|
||||
|| HAS_DRIVER(TMC2660) \
|
||||
|| HAS_DRIVER(TMC5130) \
|
||||
|| HAS_DRIVER(TMC5160) )
|
||||
@ -84,6 +87,7 @@
|
||||
#define AXIS_IS_TMC(A) ( AXIS_DRIVER_TYPE(A,TMC2130) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2160) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2208) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2209) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2660) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC5130) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC5160) )
|
||||
@ -96,8 +100,12 @@
|
||||
|| AXIS_DRIVER_TYPE(A,TMC5130) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC5160) )
|
||||
|
||||
#define AXIS_HAS_UART(A) ( AXIS_DRIVER_TYPE(A,TMC2208) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2209) )
|
||||
|
||||
#define AXIS_HAS_STALLGUARD(A) ( AXIS_DRIVER_TYPE(A,TMC2130) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2160) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2209) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2660) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC5130) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC5160) )
|
||||
@ -105,5 +113,6 @@
|
||||
#define AXIS_HAS_STEALTHCHOP(A) ( AXIS_DRIVER_TYPE(A,TMC2130) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2160) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2208) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC2209) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC5130) \
|
||||
|| AXIS_DRIVER_TYPE(A,TMC5160) )
|
||||
|
@ -69,7 +69,7 @@
|
||||
#endif
|
||||
;
|
||||
#if ENABLED(TMC_DEBUG)
|
||||
#if HAS_TMCX1X0 || HAS_DRIVER(TMC2208)
|
||||
#if HAS_TMCX1X0 || HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
uint8_t cs_actual;
|
||||
#endif
|
||||
#if HAS_STALLGUARD
|
||||
@ -97,6 +97,7 @@
|
||||
TMC_driver_data data;
|
||||
const auto ds = data.drv_status = st.DRV_STATUS();
|
||||
#ifdef __AVR__
|
||||
|
||||
// 8-bit optimization saves up to 70 bytes of PROGMEM per axis
|
||||
uint8_t spart;
|
||||
#if ENABLED(TMC_DEBUG)
|
||||
@ -115,6 +116,7 @@
|
||||
data.is_standstill = TEST(spart, STST_bp - 24);
|
||||
data.sg_result_reasonable = !data.is_standstill; // sg_result has no reasonable meaning while standstill
|
||||
#endif
|
||||
|
||||
#else // !__AVR__
|
||||
|
||||
data.is_ot = TEST(ds, OT_bp);
|
||||
@ -137,7 +139,7 @@
|
||||
|
||||
#endif // HAS_TMCX1X0
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
|
||||
#if ENABLED(TMC_DEBUG)
|
||||
static uint32_t get_pwm_scale(TMC2208Stepper &st) { return st.pwm_scale_sum(); }
|
||||
@ -174,7 +176,7 @@
|
||||
return data;
|
||||
}
|
||||
|
||||
#endif // TMC2208
|
||||
#endif // TMC2208 || TMC2209
|
||||
|
||||
#if HAS_DRIVER(TMC2660)
|
||||
|
||||
@ -228,9 +230,7 @@
|
||||
SERIAL_ECHO(timestamp);
|
||||
SERIAL_ECHOPGM(": ");
|
||||
st.printLabel();
|
||||
SERIAL_ECHOPGM(" driver overtemperature warning! (");
|
||||
SERIAL_ECHO(st.getMilliamps());
|
||||
SERIAL_ECHOLNPGM("mA)");
|
||||
SERIAL_ECHOLNPAIR(" driver overtemperature warning! (", st.getMilliamps(), "mA)");
|
||||
}
|
||||
|
||||
template<typename TMC>
|
||||
@ -239,7 +239,7 @@
|
||||
st.printLabel();
|
||||
SERIAL_CHAR(':'); SERIAL_PRINT(pwm_scale, DEC);
|
||||
#if ENABLED(TMC_DEBUG)
|
||||
#if HAS_TMCX1X0 || HAS_DRIVER(TMC2208)
|
||||
#if HAS_TMCX1X0 || HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
SERIAL_CHAR('/'); SERIAL_PRINT(data.cs_actual, DEC);
|
||||
#endif
|
||||
#if HAS_STALLGUARD
|
||||
@ -386,7 +386,7 @@
|
||||
if ((report_tmc_status_interval = update_interval))
|
||||
SERIAL_ECHOLNPGM("axis:pwm_scale"
|
||||
#if HAS_STEALTHCHOP
|
||||
"/current_scale"
|
||||
"/curr_scale"
|
||||
#endif
|
||||
#if HAS_STALLGUARD
|
||||
"/mech_load"
|
||||
@ -398,6 +398,7 @@
|
||||
|
||||
enum TMC_debug_enum : char {
|
||||
TMC_CODES,
|
||||
TMC_UART_ADDR,
|
||||
TMC_ENABLED,
|
||||
TMC_CURRENT,
|
||||
TMC_RMS_CURRENT,
|
||||
@ -482,9 +483,9 @@
|
||||
#if HAS_TMCX1X0
|
||||
static void _tmc_parse_drv_status(TMC2130Stepper &st, const TMC_drv_status_enum i) {
|
||||
switch (i) {
|
||||
case TMC_STALLGUARD: if (st.stallguard()) SERIAL_CHAR('X'); break;
|
||||
case TMC_STALLGUARD: if (st.stallguard()) SERIAL_CHAR('*'); break;
|
||||
case TMC_SG_RESULT: SERIAL_PRINT(st.sg_result(), DEC); break;
|
||||
case TMC_FSACTIVE: if (st.fsactive()) SERIAL_CHAR('X'); break;
|
||||
case TMC_FSACTIVE: if (st.fsactive()) SERIAL_CHAR('*'); break;
|
||||
case TMC_DRV_CS_ACTUAL: SERIAL_PRINT(st.cs_actual(), DEC); break;
|
||||
default: break;
|
||||
}
|
||||
@ -515,22 +516,37 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
static void _tmc_status(TMC2208Stepper &st, const TMC_debug_enum i) {
|
||||
switch (i) {
|
||||
case TMC_PWM_SCALE: SERIAL_PRINT(st.pwm_scale_sum(), DEC); break;
|
||||
case TMC_STEALTHCHOP: serialprint_truefalse(st.stealth()); break;
|
||||
case TMC_S2VSA: if (st.s2vsa()) SERIAL_CHAR('X'); break;
|
||||
case TMC_S2VSB: if (st.s2vsb()) SERIAL_CHAR('X'); break;
|
||||
case TMC_S2VSA: if (st.s2vsa()) SERIAL_CHAR('*'); break;
|
||||
case TMC_S2VSB: if (st.s2vsb()) SERIAL_CHAR('*'); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
#if HAS_DRIVER(TMC2209)
|
||||
template<char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
|
||||
static void _tmc_status(TMCMarlin<TMC2209Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> &st, const TMC_debug_enum i) {
|
||||
switch (i) {
|
||||
case TMC_SGT: SERIAL_PRINT(st.SGTHRS(), DEC); break;
|
||||
case TMC_UART_ADDR: SERIAL_PRINT(st.get_address(), DEC); break;
|
||||
default:
|
||||
TMC2208Stepper *parent = &st;
|
||||
_tmc_status(*parent, i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void _tmc_parse_drv_status(TMC2208Stepper &st, const TMC_drv_status_enum i) {
|
||||
switch (i) {
|
||||
case TMC_T157: if (st.t157()) SERIAL_CHAR('X'); break;
|
||||
case TMC_T150: if (st.t150()) SERIAL_CHAR('X'); break;
|
||||
case TMC_T143: if (st.t143()) SERIAL_CHAR('X'); break;
|
||||
case TMC_T120: if (st.t120()) SERIAL_CHAR('X'); break;
|
||||
case TMC_T157: if (st.t157()) SERIAL_CHAR('*'); break;
|
||||
case TMC_T150: if (st.t150()) SERIAL_CHAR('*'); break;
|
||||
case TMC_T143: if (st.t143()) SERIAL_CHAR('*'); break;
|
||||
case TMC_T120: if (st.t120()) SERIAL_CHAR('*'); break;
|
||||
case TMC_DRV_CS_ACTUAL: SERIAL_PRINT(st.cs_actual(), DEC); break;
|
||||
default: break;
|
||||
}
|
||||
@ -620,13 +636,13 @@
|
||||
SERIAL_CHAR('\t');
|
||||
switch (i) {
|
||||
case TMC_DRV_CODES: st.printLabel(); break;
|
||||
case TMC_STST: if (st.stst()) SERIAL_CHAR('X'); break;
|
||||
case TMC_OLB: if (st.olb()) SERIAL_CHAR('X'); break;
|
||||
case TMC_OLA: if (st.ola()) SERIAL_CHAR('X'); break;
|
||||
case TMC_S2GB: if (st.s2gb()) SERIAL_CHAR('X'); break;
|
||||
case TMC_S2GA: if (st.s2ga()) SERIAL_CHAR('X'); break;
|
||||
case TMC_DRV_OTPW: if (st.otpw()) SERIAL_CHAR('X'); break;
|
||||
case TMC_OT: if (st.ot()) SERIAL_CHAR('X'); break;
|
||||
case TMC_STST: if (st.stst()) SERIAL_CHAR('*'); break;
|
||||
case TMC_OLB: if (st.olb()) SERIAL_CHAR('*'); break;
|
||||
case TMC_OLA: if (st.ola()) SERIAL_CHAR('*'); break;
|
||||
case TMC_S2GB: if (st.s2gb()) SERIAL_CHAR('*'); break;
|
||||
case TMC_S2GA: if (st.s2ga()) SERIAL_CHAR('*'); break;
|
||||
case TMC_DRV_OTPW: if (st.otpw()) SERIAL_CHAR('*'); break;
|
||||
case TMC_OT: if (st.ot()) SERIAL_CHAR('*'); break;
|
||||
case TMC_DRV_STATUS_HEX: {
|
||||
const uint32_t drv_status = st.DRV_STATUS();
|
||||
SERIAL_CHAR('\t');
|
||||
@ -759,6 +775,9 @@
|
||||
#define TMC_REPORT(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL); tmc_debug_loop(ITEM, print_x, print_y, print_z, print_e); }while(0)
|
||||
#define DRV_REPORT(LABEL, ITEM) do{ SERIAL_ECHOPGM(LABEL); drv_status_loop(ITEM, print_x, print_y, print_z, print_e); }while(0)
|
||||
TMC_REPORT("\t", TMC_CODES);
|
||||
#if HAS_DRIVER(TMC2209)
|
||||
TMC_REPORT("Address\t", TMC_UART_ADDR);
|
||||
#endif
|
||||
TMC_REPORT("Enabled\t", TMC_ENABLED);
|
||||
TMC_REPORT("Set current", TMC_CURRENT);
|
||||
TMC_REPORT("RMS current", TMC_RMS_CURRENT);
|
||||
@ -770,7 +789,7 @@
|
||||
#endif
|
||||
TMC_REPORT("CS actual\t", TMC_CS_ACTUAL);
|
||||
TMC_REPORT("PWM scale", TMC_PWM_SCALE);
|
||||
#if HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2224) || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2224) || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
TMC_REPORT("vsense\t", TMC_VSENSE);
|
||||
#endif
|
||||
TMC_REPORT("stealthChop", TMC_STEALTHCHOP);
|
||||
@ -802,7 +821,7 @@
|
||||
DRV_REPORT("s2ga\t", TMC_S2GA);
|
||||
DRV_REPORT("otpw\t", TMC_DRV_OTPW);
|
||||
DRV_REPORT("ot\t", TMC_OT);
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
DRV_REPORT("157C\t", TMC_T157);
|
||||
DRV_REPORT("150C\t", TMC_T150);
|
||||
DRV_REPORT("143C\t", TMC_T143);
|
||||
@ -826,7 +845,7 @@
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
static void tmc_get_ic_registers(TMC2208Stepper, const TMC_get_registers_enum) { SERIAL_CHAR('\t'); }
|
||||
#endif
|
||||
|
||||
@ -961,6 +980,15 @@
|
||||
st.en_pwm_mode(restore_stealth);
|
||||
st.diag1_stall(false);
|
||||
}
|
||||
|
||||
bool tmc_enable_stallguard(TMC2209Stepper &st) {
|
||||
st.TCOOLTHRS(0xFFFFF);
|
||||
return true;
|
||||
}
|
||||
void tmc_disable_stallguard(TMC2209Stepper &st, const bool restore_stealth) {
|
||||
st.TCOOLTHRS(0);
|
||||
}
|
||||
|
||||
bool tmc_enable_stallguard(TMC2660Stepper) {
|
||||
// TODO
|
||||
return false;
|
||||
|
@ -92,7 +92,7 @@ class TMCStorage {
|
||||
uint8_t hybrid_thrs = 0;
|
||||
#endif
|
||||
#if USE_SENSORLESS
|
||||
int8_t homing_thrs = 0;
|
||||
int16_t homing_thrs = 0;
|
||||
#endif
|
||||
} stored;
|
||||
};
|
||||
@ -100,10 +100,10 @@ class TMCStorage {
|
||||
template<class TMC, char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
|
||||
class TMCMarlin : public TMC, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
|
||||
public:
|
||||
TMCMarlin(uint16_t cs_pin, float RS) :
|
||||
TMCMarlin(const uint16_t cs_pin, const float RS) :
|
||||
TMC(cs_pin, RS)
|
||||
{}
|
||||
TMCMarlin(uint16_t CS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK) :
|
||||
TMCMarlin(const uint16_t CS, const float RS, const uint16_t pinMOSI, const uint16_t pinMISO, const uint16_t pinSCK) :
|
||||
TMC(CS, RS, pinMOSI, pinMISO, pinSCK)
|
||||
{}
|
||||
inline uint16_t rms_current() { return TMC::rms_current(); }
|
||||
@ -111,7 +111,7 @@ class TMCMarlin : public TMC, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
|
||||
this->val_mA = mA;
|
||||
TMC::rms_current(mA);
|
||||
}
|
||||
inline void rms_current(uint16_t mA, float mult) {
|
||||
inline void rms_current(const uint16_t mA, const float mult) {
|
||||
this->val_mA = mA;
|
||||
TMC::rms_current(mA, mult);
|
||||
}
|
||||
@ -132,8 +132,9 @@ class TMCMarlin : public TMC, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
|
||||
}
|
||||
#endif
|
||||
#if USE_SENSORLESS
|
||||
inline int8_t sgt() { return TMC::sgt(); }
|
||||
void sgt(const int8_t sgt_val) {
|
||||
inline int16_t homing_threshold() { return TMC::sgt(); }
|
||||
void homing_threshold(int16_t sgt_val) {
|
||||
sgt_val = (int16_t)constrain(sgt_val, sgt_min, sgt_max);
|
||||
TMC::sgt(sgt_val);
|
||||
#if HAS_LCD_MENU
|
||||
this->stored.homing_thrs = sgt_val;
|
||||
@ -148,25 +149,28 @@ class TMCMarlin : public TMC, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
|
||||
inline void refresh_hybrid_thrs() { set_pwm_thrs(this->stored.hybrid_thrs); }
|
||||
#endif
|
||||
#if USE_SENSORLESS
|
||||
inline void refresh_homing_thrs() { sgt(this->stored.homing_thrs); }
|
||||
inline void refresh_homing_thrs() { homing_threshold(this->stored.homing_thrs); }
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static constexpr int8_t sgt_min = -64,
|
||||
sgt_max = 63;
|
||||
};
|
||||
template<char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
|
||||
class TMCMarlin<TMC2208Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC2208Stepper, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
|
||||
public:
|
||||
TMCMarlin(Stream * SerialPort, float RS, bool has_rx=true) :
|
||||
TMC2208Stepper(SerialPort, RS, has_rx=true)
|
||||
TMCMarlin(Stream * SerialPort, const float RS, const uint8_t) :
|
||||
TMC2208Stepper(SerialPort, RS, /*has_rx=*/true)
|
||||
{}
|
||||
TMCMarlin(uint16_t RX, uint16_t TX, float RS, bool has_rx=true) :
|
||||
TMC2208Stepper(RX, TX, RS, has_rx=true)
|
||||
TMCMarlin(const uint16_t RX, const uint16_t TX, const float RS, const uint8_t, const bool has_rx=true) :
|
||||
TMC2208Stepper(RX, TX, RS, has_rx)
|
||||
{}
|
||||
uint16_t rms_current() { return TMC2208Stepper::rms_current(); }
|
||||
inline void rms_current(uint16_t mA) {
|
||||
inline void rms_current(const uint16_t mA) {
|
||||
this->val_mA = mA;
|
||||
TMC2208Stepper::rms_current(mA);
|
||||
}
|
||||
inline void rms_current(uint16_t mA, float mult) {
|
||||
inline void rms_current(const uint16_t mA, const float mult) {
|
||||
this->val_mA = mA;
|
||||
TMC2208Stepper::rms_current(mA, mult);
|
||||
}
|
||||
@ -195,24 +199,87 @@ class TMCMarlin<TMC2208Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC220
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
template<char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
|
||||
class TMCMarlin<TMC2209Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC2209Stepper, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
|
||||
public:
|
||||
TMCMarlin(Stream * SerialPort, const float RS, const uint8_t addr) :
|
||||
TMC2209Stepper(SerialPort, RS, addr)
|
||||
{}
|
||||
TMCMarlin(const uint16_t RX, const uint16_t TX, const float RS, const uint8_t addr, const bool) :
|
||||
TMC2209Stepper(RX, TX, RS, addr)
|
||||
{}
|
||||
uint8_t get_address() { return slave_address; }
|
||||
uint16_t rms_current() { return TMC2209Stepper::rms_current(); }
|
||||
inline void rms_current(const uint16_t mA) {
|
||||
this->val_mA = mA;
|
||||
TMC2209Stepper::rms_current(mA);
|
||||
}
|
||||
inline void rms_current(const uint16_t mA, const float mult) {
|
||||
this->val_mA = mA;
|
||||
TMC2209Stepper::rms_current(mA, mult);
|
||||
}
|
||||
|
||||
#if HAS_STEALTHCHOP
|
||||
inline void refresh_stepping_mode() { en_spreadCycle(!this->stored.stealthChop_enabled); }
|
||||
inline bool get_stealthChop_status() { return !this->en_spreadCycle(); }
|
||||
#endif
|
||||
#if ENABLED(HYBRID_THRESHOLD)
|
||||
uint32_t get_pwm_thrs() {
|
||||
return _tmc_thrs(this->microsteps(), this->TPWMTHRS(), planner.settings.axis_steps_per_mm[AXIS_ID]);
|
||||
}
|
||||
void set_pwm_thrs(const uint32_t thrs) {
|
||||
TMC2209Stepper::TPWMTHRS(_tmc_thrs(this->microsteps(), thrs, planner.settings.axis_steps_per_mm[AXIS_ID]));
|
||||
#if HAS_LCD_MENU
|
||||
this->stored.hybrid_thrs = thrs;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#if USE_SENSORLESS
|
||||
inline int16_t homing_threshold() { return TMC2209Stepper::SGTHRS(); }
|
||||
void homing_threshold(int16_t sgt_val) {
|
||||
sgt_val = (int16_t)constrain(sgt_val, sgt_min, sgt_max);
|
||||
TMC2209Stepper::SGTHRS(sgt_val);
|
||||
#if HAS_LCD_MENU
|
||||
this->stored.homing_thrs = sgt_val;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAS_LCD_MENU
|
||||
inline void refresh_stepper_current() { rms_current(this->val_mA); }
|
||||
|
||||
#if ENABLED(HYBRID_THRESHOLD)
|
||||
inline void refresh_hybrid_thrs() { set_pwm_thrs(this->stored.hybrid_thrs); }
|
||||
#endif
|
||||
#if USE_SENSORLESS
|
||||
inline void refresh_homing_thrs() { homing_threshold(this->stored.homing_thrs); }
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static constexpr uint8_t sgt_min = 0,
|
||||
sgt_max = 255;
|
||||
};
|
||||
|
||||
template<char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
|
||||
class TMCMarlin<TMC2660Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC2660Stepper, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
|
||||
public:
|
||||
TMCMarlin(uint16_t cs_pin, float RS) :
|
||||
TMCMarlin(const uint16_t cs_pin, const float RS) :
|
||||
TMC2660Stepper(cs_pin, RS)
|
||||
{}
|
||||
TMCMarlin(uint16_t CS, float RS, uint16_t pinMOSI, uint16_t pinMISO, uint16_t pinSCK) :
|
||||
TMCMarlin(const uint16_t CS, const float RS, const uint16_t pinMOSI, const uint16_t pinMISO, const uint16_t pinSCK) :
|
||||
TMC2660Stepper(CS, RS, pinMOSI, pinMISO, pinSCK)
|
||||
{}
|
||||
inline uint16_t rms_current() { return TMC2660Stepper::rms_current(); }
|
||||
inline void rms_current(uint16_t mA) {
|
||||
inline void rms_current(const uint16_t mA) {
|
||||
this->val_mA = mA;
|
||||
TMC2660Stepper::rms_current(mA);
|
||||
}
|
||||
|
||||
#if USE_SENSORLESS
|
||||
inline int8_t sgt() { return TMC2660Stepper::sgt(); }
|
||||
void sgt(const int8_t sgt_val) {
|
||||
inline int16_t homing_threshold() { return TMC2660Stepper::sgt(); }
|
||||
void homing_threshold(int16_t sgt_val) {
|
||||
sgt_val = (int16_t)constrain(sgt_val, sgt_min, sgt_max);
|
||||
TMC2660Stepper::sgt(sgt_val);
|
||||
#if HAS_LCD_MENU
|
||||
this->stored.homing_thrs = sgt_val;
|
||||
@ -224,9 +291,12 @@ class TMCMarlin<TMC2660Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC266
|
||||
inline void refresh_stepper_current() { rms_current(this->val_mA); }
|
||||
|
||||
#if USE_SENSORLESS
|
||||
inline void refresh_homing_thrs() { sgt(this->stored.homing_thrs); }
|
||||
inline void refresh_homing_thrs() { homing_threshold(this->stored.homing_thrs); }
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static constexpr int8_t sgt_min = -64,
|
||||
sgt_max = 63;
|
||||
};
|
||||
|
||||
template<typename TMC>
|
||||
@ -262,7 +332,7 @@ void tmc_print_current(TMC &st) {
|
||||
void tmc_print_sgt(TMC &st) {
|
||||
st.printLabel();
|
||||
SERIAL_ECHOPGM(" homing sensitivity: ");
|
||||
SERIAL_PRINTLN(st.sgt(), DEC);
|
||||
SERIAL_PRINTLN(st.homing_threshold(), DEC);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -293,6 +363,9 @@ void test_tmc_connection(const bool test_x, const bool test_y, const bool test_z
|
||||
bool tmc_enable_stallguard(TMC2130Stepper &st);
|
||||
void tmc_disable_stallguard(TMC2130Stepper &st, const bool restore_stealth);
|
||||
|
||||
bool tmc_enable_stallguard(TMC2209Stepper &st);
|
||||
void tmc_disable_stallguard(TMC2209Stepper &st, const bool restore_stealth);
|
||||
|
||||
bool tmc_enable_stallguard(TMC2660Stepper);
|
||||
void tmc_disable_stallguard(TMC2660Stepper, const bool);
|
||||
#endif
|
||||
|
@ -32,7 +32,7 @@
|
||||
|
||||
#if ENABLED(MONITOR_DRIVER_STATUS)
|
||||
|
||||
#define M91x_USE(ST) (AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2160) || AXIS_DRIVER_TYPE(ST, TMC2208) || AXIS_DRIVER_TYPE(ST, TMC2660) || AXIS_DRIVER_TYPE(ST, TMC5130) || AXIS_DRIVER_TYPE(ST, TMC5160))
|
||||
#define M91x_USE(ST) (AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2160) || AXIS_DRIVER_TYPE(ST, TMC2208) || AXIS_DRIVER_TYPE(ST, TMC2209) || AXIS_DRIVER_TYPE(ST, TMC2660) || AXIS_DRIVER_TYPE(ST, TMC5130) || AXIS_DRIVER_TYPE(ST, TMC5160))
|
||||
#define M91x_USE_E(N) (E_STEPPERS > N && M91x_USE(E##N))
|
||||
|
||||
#define M91x_SOME_X (M91x_USE(X) || M91x_USE(X2))
|
||||
@ -41,7 +41,7 @@
|
||||
#define M91x_SOME_E (M91x_USE_E(0) || M91x_USE_E(1) || M91x_USE_E(2) || M91x_USE_E(3) || M91x_USE_E(4) || M91x_USE_E(5))
|
||||
|
||||
#if !M91x_SOME_X && !M91x_SOME_Y && !M91x_SOME_Z && !M91x_SOME_E
|
||||
#error "MONITOR_DRIVER_STATUS requires at least one TMC2130, TMC2208, or TMC2660."
|
||||
#error "MONITOR_DRIVER_STATUS requires at least one TMC2130, 2160, 2208, 2209, 2660, 5130, or 5160."
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -313,39 +313,39 @@
|
||||
bool report = true;
|
||||
const uint8_t index = parser.byteval('I');
|
||||
LOOP_XYZ(i) if (parser.seen(axis_codes[i])) {
|
||||
const int8_t value = (int8_t)constrain(parser.value_int(), -64, 63);
|
||||
const int16_t value = parser.value_int();
|
||||
report = false;
|
||||
switch (i) {
|
||||
#if X_SENSORLESS
|
||||
case X_AXIS:
|
||||
#if AXIS_HAS_STALLGUARD(X)
|
||||
if (index < 2) stepperX.sgt(value);
|
||||
if (index < 2) stepperX.homing_threshold(value);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(X2)
|
||||
if (!(index & 1)) stepperX2.sgt(value);
|
||||
if (!(index & 1)) stepperX2.homing_threshold(value);
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
#if Y_SENSORLESS
|
||||
case Y_AXIS:
|
||||
#if AXIS_HAS_STALLGUARD(Y)
|
||||
if (index < 2) stepperY.sgt(value);
|
||||
if (index < 2) stepperY.homing_threshold(value);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Y2)
|
||||
if (!(index & 1)) stepperY2.sgt(value);
|
||||
if (!(index & 1)) stepperY2.homing_threshold(value);
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
#if Z_SENSORLESS
|
||||
case Z_AXIS:
|
||||
#if AXIS_HAS_STALLGUARD(Z)
|
||||
if (index < 2) stepperZ.sgt(value);
|
||||
if (index < 2) stepperZ.homing_threshold(value);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Z2)
|
||||
if (index == 0 || index == 2) stepperZ2.sgt(value);
|
||||
if (index == 0 || index == 2) stepperZ2.homing_threshold(value);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Z3)
|
||||
if (index == 0 || index == 3) stepperZ3.sgt(value);
|
||||
if (index == 0 || index == 3) stepperZ3.homing_threshold(value);
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
|
@ -139,7 +139,7 @@
|
||||
* M119 - Report endstops status.
|
||||
* M120 - Enable endstops detection.
|
||||
* M121 - Disable endstops detection.
|
||||
* M122 - Debug stepper (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660 or L6470)
|
||||
* M122 - Debug stepper (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660 or L6470)
|
||||
* M125 - Save current position and move to filament change position. (Requires PARK_HEAD_ON_PAUSE)
|
||||
* M126 - Solenoid Air Valve Open. (Requires BARICUDA)
|
||||
* M127 - Solenoid Air Valve Closed. (Requires BARICUDA)
|
||||
@ -218,7 +218,7 @@
|
||||
* M504 - Validate EEPROM contents. (Requires EEPROM_SETTINGS)
|
||||
* M524 - Abort the current SD print job started with M24. (Requires SDSUPPORT)
|
||||
* M540 - Enable/disable SD card abort on endstop hit: "M540 S<state>". (Requires SD_ABORT_ON_ENDSTOP_HIT)
|
||||
* M569 - Enable stealthChop on an axis. (Requires at least one _DRIVER_TYPE to be TMC2130 or TMC2208)
|
||||
* M569 - Enable stealthChop on an axis. (Requires at least one _DRIVER_TYPE to be TMC2130/2160/2208/2209/5130/5160)
|
||||
* M600 - Pause for filament change: "M600 X<pos> Y<pos> Z<raise> E<first_retract> L<later_retract>". (Requires ADVANCED_PAUSE_FEATURE)
|
||||
* M603 - Configure filament change: "M603 T<tool> U<unload_length> L<load_length>". (Requires ADVANCED_PAUSE_FEATURE)
|
||||
* M605 - Set Dual X-Carriage movement mode: "M605 S<mode> [X<x_offset>] [R<temp_offset>]". (Requires DUAL_X_CARRIAGE)
|
||||
@ -241,13 +241,13 @@
|
||||
* M869 - Report position encoder module error.
|
||||
* M876 - Handle Prompt Response. (Requires HOST_PROMPT_SUPPORT and not EMERGENCY_PARSER)
|
||||
* 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 at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660 or L6470)
|
||||
* 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/2160/5130/5160/2208/2209/2660 or L6470)
|
||||
* 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)
|
||||
* M909 - Print digipot/DAC current value. (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 at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660)
|
||||
* M912 - Clear stepper driver overtemperature pre-warn condition flag. (Requires at least one _DRIVER_TYPE defined as TMC2130/TMC2208/TMC2660)
|
||||
* M911 - Report stepper driver overtemperature pre-warn condition. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660)
|
||||
* M912 - Clear stepper driver overtemperature pre-warn condition flag. (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660)
|
||||
* M913 - Set HYBRID_THRESHOLD speed. (Requires HYBRID_THRESHOLD)
|
||||
* M914 - Set StallGuard sensitivity. (Requires SENSORLESS_HOMING or SENSORLESS_PROBING)
|
||||
* M916 - L6470 tuning: Increase KVAL_HOLD until thermal warning. (Requires at least one _DRIVER_TYPE L6470)
|
||||
|
@ -493,7 +493,7 @@
|
||||
* Preserve this ordering when adding new drivers.
|
||||
*/
|
||||
|
||||
#define TRINAMICS (HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) || HAS_DRIVER(TMC5130_STANDALONE) || HAS_DRIVER(TMC5160_STANDALONE) || HAS_DRIVER(TMC2160_STANDALONE))
|
||||
#define TRINAMICS (HAS_TRINAMIC || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC2209_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) || HAS_DRIVER(TMC5130_STANDALONE) || HAS_DRIVER(TMC5160_STANDALONE) || HAS_DRIVER(TMC2160_STANDALONE))
|
||||
|
||||
#ifndef MINIMUM_STEPPER_DIR_DELAY
|
||||
#if HAS_DRIVER(TB6560)
|
||||
@ -905,8 +905,8 @@
|
||||
#if HAS_TRINAMIC
|
||||
#define HAS_TMCX1X0 (HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2160) || HAS_DRIVER(TMC5130) || HAS_DRIVER(TMC5160))
|
||||
#define TMC_HAS_SPI (HAS_TMCX1X0 || HAS_DRIVER(TMC2660))
|
||||
#define HAS_STALLGUARD (HAS_TMCX1X0 || HAS_DRIVER(TMC2660))
|
||||
#define HAS_STEALTHCHOP (HAS_TMCX1X0 || HAS_DRIVER(TMC2208))
|
||||
#define HAS_STALLGUARD (HAS_TMCX1X0 || HAS_DRIVER(TMC2209) || HAS_DRIVER(TMC2660))
|
||||
#define HAS_STEALTHCHOP (HAS_TMCX1X0 || HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209))
|
||||
|
||||
#define STEALTHCHOP_ENABLED ANY(STEALTHCHOP_XY, STEALTHCHOP_Z, STEALTHCHOP_E)
|
||||
#define USE_SENSORLESS EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
|
||||
|
@ -275,6 +275,8 @@
|
||||
#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_TMC2208)
|
||||
#error "HAVE_TMC2208 is now [AXIS]_DRIVER_TYPE TMC2208. 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) || defined(Z3_IS_TMC) \
|
||||
@ -1070,10 +1072,10 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
* Require pin options and pins to be defined
|
||||
*/
|
||||
#if ENABLED(SENSORLESS_PROBING)
|
||||
#if ENABLED(DELTA) && (!AXIS_DRIVER_TYPE_X(TMC2130) || !AXIS_DRIVER_TYPE_Y(TMC2130) || !AXIS_DRIVER_TYPE_Z(TMC2130))
|
||||
#error "SENSORLESS_PROBING requires TMC2130 drivers on X, Y, and Z."
|
||||
#elif !AXIS_DRIVER_TYPE_Z(TMC2130)
|
||||
#error "SENSORLESS_PROBING requires a TMC2130 driver on Z."
|
||||
#if ENABLED(DELTA) && !(AXIS_HAS_STALLGUARD(X) && AXIS_HAS_STALLGUARD(Y) && AXIS_HAS_STALLGUARD(Z))
|
||||
#error "SENSORLESS_PROBING requires TMC2130/2160/2209/5130/5160 drivers on X, Y, and Z."
|
||||
#elif !AXIS_HAS_STALLGUARD(Z)
|
||||
#error "SENSORLESS_PROBING requires a TMC2130/2160/2209/5130/5160 driver on Z."
|
||||
#endif
|
||||
#elif ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
|
||||
#if DISABLED(USE_ZMIN_PLUG)
|
||||
@ -1876,73 +1878,106 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
/**
|
||||
* Check existing CS pins against enabled TMC SPI drivers.
|
||||
*/
|
||||
#define INVALID_TMC2130(ST) (AXIS_DRIVER_TYPE(ST, TMC2130) && !PIN_EXISTS(ST##_CS))
|
||||
#if INVALID_TMC2130(X)
|
||||
#error "TMC2130 on X requires X_CS_PIN."
|
||||
#elif INVALID_TMC2130(X2)
|
||||
#error "TMC2130 on X2 requires X2_CS_PIN."
|
||||
#elif INVALID_TMC2130(Y)
|
||||
#error "TMC2130 on Y requires Y_CS_PIN."
|
||||
#elif INVALID_TMC2130(Y2)
|
||||
#error "TMC2130 on Y2 requires Y2_CS_PIN."
|
||||
#elif INVALID_TMC2130(Z)
|
||||
#error "TMC2130 on Z requires Z_CS_PIN."
|
||||
#elif INVALID_TMC2130(Z2)
|
||||
#error "TMC2130 on Z2 requires Z2_CS_PIN."
|
||||
#elif INVALID_TMC2130(Z3)
|
||||
#error "TMC2130 on Z3 requires Z3_CS_PIN."
|
||||
#elif INVALID_TMC2130(E0)
|
||||
#error "TMC2130 on E0 requires E0_CS_PIN."
|
||||
#elif INVALID_TMC2130(E1)
|
||||
#error "TMC2130 on E1 requires E1_CS_PIN."
|
||||
#elif INVALID_TMC2130(E2)
|
||||
#error "TMC2130 on E2 requires E2_CS_PIN."
|
||||
#elif INVALID_TMC2130(E3)
|
||||
#error "TMC2130 on E3 requires E3_CS_PIN."
|
||||
#elif INVALID_TMC2130(E4)
|
||||
#error "TMC2130 on E4 requires E4_CS_PIN."
|
||||
#elif INVALID_TMC2130(E5)
|
||||
#error "TMC2130 on E5 requires E5_CS_PIN."
|
||||
#define INVALID_TMC_SPI(ST) (AXIS_HAS_SPI && !PIN_EXISTS(ST##_CS))
|
||||
#if INVALID_TMC_SPI(X)
|
||||
#error "An SPI driven TMC driver on X requires X_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(X2)
|
||||
#error "An SPI driven TMC driver on X2 requires X2_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(Y)
|
||||
#error "An SPI driven TMC driver on Y requires Y_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(Y2)
|
||||
#error "An SPI driven TMC driver on Y2 requires Y2_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(Z)
|
||||
#error "An SPI driven TMC driver on Z requires Z_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(Z2)
|
||||
#error "An SPI driven TMC driver on Z2 requires Z2_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(Z3)
|
||||
#error "An SPI driven TMC driver on Z3 requires Z3_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(E0)
|
||||
#error "An SPI driven TMC driver on E0 requires E0_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(E1)
|
||||
#error "An SPI driven TMC driver on E1 requires E1_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(E2)
|
||||
#error "An SPI driven TMC driver on E2 requires E2_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(E3)
|
||||
#error "An SPI driven TMC driver on E3 requires E3_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(E4)
|
||||
#error "An SPI driven TMC driver on E4 requires E4_CS_PIN."
|
||||
#elif INVALID_TMC_SPI(E5)
|
||||
#error "An SPI driven TMC driver on E5 requires E5_CS_PIN."
|
||||
#endif
|
||||
#undef INVALID_TMC2130
|
||||
#undef INVALID_TMC_SPI
|
||||
|
||||
/**
|
||||
* Check existing RX/TX pins against enable TMC UART drivers.
|
||||
*/
|
||||
#define INVALID_TMC2208(ST) (AXIS_DRIVER_TYPE(ST, TMC2208) && !(defined(ST##_HARDWARE_SERIAL) || (PIN_EXISTS(ST##_SERIAL_RX, ST##_SERIAL_TX))))
|
||||
#if INVALID_TMC2208(X)
|
||||
#error "TMC2208 on X requires X_HARDWARE_SERIAL or X_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(X2)
|
||||
#error "TMC2208 on X2 requires X2_HARDWARE_SERIAL or X2_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(Y)
|
||||
#error "TMC2208 on Y requires Y_HARDWARE_SERIAL or Y_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(Y2)
|
||||
#error "TMC2208 on Y2 requires Y2_HARDWARE_SERIAL or Y2_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(Z)
|
||||
#error "TMC2208 on Z requires Z_HARDWARE_SERIAL or Z_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(Z2)
|
||||
#error "TMC2208 on Z2 requires Z2_HARDWARE_SERIAL or Z2_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(Z3)
|
||||
#error "TMC2208 on Z3 requires Z3_HARDWARE_SERIAL or Z3_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(E0)
|
||||
#error "TMC2208 on E0 requires E0_HARDWARE_SERIAL or E0_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(E1)
|
||||
#error "TMC2208 on E1 requires E1_HARDWARE_SERIAL or E1_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(E2)
|
||||
#error "TMC2208 on E2 requires E2_HARDWARE_SERIAL or E2_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(E3)
|
||||
#error "TMC2208 on E3 requires E3_HARDWARE_SERIAL or E3_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(E4)
|
||||
#error "TMC2208 on E4 requires E4_HARDWARE_SERIAL or E4_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC2208(E5)
|
||||
#error "TMC2208 on E5 requires E5_HARDWARE_SERIAL or E5_SERIAL_(RX|TX)_PIN."
|
||||
#define INVALID_TMC_UART(ST) (AXIS_HAS_UART(ST) && !(defined(ST##_HARDWARE_SERIAL) || (PIN_EXISTS(ST##_SERIAL_RX, ST##_SERIAL_TX))))
|
||||
#if INVALID_TMC_UART(X)
|
||||
#error "TMC2208 or TMC2209 on X requires X_HARDWARE_SERIAL or X_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(X2)
|
||||
#error "TMC2208 or TMC2209 on X2 requires X2_HARDWARE_SERIAL or X2_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(Y)
|
||||
#error "TMC2208 or TMC2209 on Y requires Y_HARDWARE_SERIAL or Y_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(Y2)
|
||||
#error "TMC2208 or TMC2209 on Y2 requires Y2_HARDWARE_SERIAL or Y2_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(Z)
|
||||
#error "TMC2208 or TMC2209 on Z requires Z_HARDWARE_SERIAL or Z_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(Z2)
|
||||
#error "TMC2208 or TMC2209 on Z2 requires Z2_HARDWARE_SERIAL or Z2_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(Z3)
|
||||
#error "TMC2208 or TMC2209 on Z3 requires Z3_HARDWARE_SERIAL or Z3_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(E0)
|
||||
#error "TMC2208 or TMC2209 on E0 requires E0_HARDWARE_SERIAL or E0_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(E1)
|
||||
#error "TMC2208 or TMC2209 on E1 requires E1_HARDWARE_SERIAL or E1_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(E2)
|
||||
#error "TMC2208 or TMC2209 on E2 requires E2_HARDWARE_SERIAL or E2_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(E3)
|
||||
#error "TMC2208 or TMC2209 on E3 requires E3_HARDWARE_SERIAL or E3_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(E4)
|
||||
#error "TMC2208 or TMC2209 on E4 requires E4_HARDWARE_SERIAL or E4_SERIAL_(RX|TX)_PIN."
|
||||
#elif INVALID_TMC_UART(E5)
|
||||
#error "TMC2208 or TMC2209 on E5 requires E5_HARDWARE_SERIAL or E5_SERIAL_(RX|TX)_PIN."
|
||||
#endif
|
||||
#undef INVALID_TMC2208
|
||||
#undef INVALID_TMC_UART
|
||||
|
||||
/**
|
||||
* TMC2208 software UART and ENDSTOP_INTERRUPTS both use pin change interrupts (PCI)
|
||||
* TMC2209 slave address values
|
||||
*/
|
||||
#if HAS_DRIVER(TMC2208) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !( \
|
||||
#define INVALID_TMC_ADDRESS(ST) static_assert(0 <= ST##_SLAVE_ADDRESS && ST##_SLAVE_ADDRESS <= 3, "TMC2209 slave address must be 0, 1, 2 or 3")
|
||||
#if AXIS_DRIVER_TYPE_X(TMC2209)
|
||||
INVALID_TMC_ADDRESS(X);
|
||||
#elif AXIS_DRIVER_TYPE_X2(TMC2209)
|
||||
INVALID_TMC_ADDRESS(X2);
|
||||
#elif AXIS_DRIVER_TYPE_Y(TMC2209)
|
||||
INVALID_TMC_ADDRESS(Y);
|
||||
#elif AXIS_DRIVER_TYPE_Y2(TMC2209)
|
||||
INVALID_TMC_ADDRESS(Y2);
|
||||
#elif AXIS_DRIVER_TYPE_Z(TMC2209)
|
||||
INVALID_TMC_ADDRESS(Z);
|
||||
#elif AXIS_DRIVER_TYPE_Z2(TMC2209)
|
||||
INVALID_TMC_ADDRESS(Z2);
|
||||
#elif AXIS_DRIVER_TYPE_Z3(TMC2209)
|
||||
INVALID_TMC_ADDRESS(Z3);
|
||||
#elif AXIS_DRIVER_TYPE_E0(TMC2209)
|
||||
INVALID_TMC_ADDRESS(E0);
|
||||
#elif AXIS_DRIVER_TYPE_E1(TMC2209)
|
||||
INVALID_TMC_ADDRESS(E1);
|
||||
#elif AXIS_DRIVER_TYPE_E2(TMC2209)
|
||||
INVALID_TMC_ADDRESS(E2);
|
||||
#elif AXIS_DRIVER_TYPE_E3(TMC2209)
|
||||
INVALID_TMC_ADDRESS(E3);
|
||||
#elif AXIS_DRIVER_TYPE_E4(TMC2209)
|
||||
INVALID_TMC_ADDRESS(E4);
|
||||
#elif AXIS_DRIVER_TYPE_E5(TMC2209)
|
||||
INVALID_TMC_ADDRESS(E5);
|
||||
#endif
|
||||
#undef INVALID_TMC_ADDRESS
|
||||
|
||||
/**
|
||||
* TMC2208/2209 software UART and ENDSTOP_INTERRUPTS both use pin change interrupts (PCI)
|
||||
*/
|
||||
#if (HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)) && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) && !( \
|
||||
defined(X_HARDWARE_SERIAL ) \
|
||||
|| defined(X2_HARDWARE_SERIAL) \
|
||||
|| defined(Y_HARDWARE_SERIAL ) \
|
||||
@ -1960,9 +1995,9 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#endif
|
||||
|
||||
/**
|
||||
* TMC2208 software UART is only supported on AVR
|
||||
* TMC2208/2209 software UART is only supported on AVR and LPC
|
||||
*/
|
||||
#if HAS_DRIVER(TMC2208) && !defined(__AVR__) && !defined(TARGET_LPC1768) && !( \
|
||||
#if (HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)) && !defined(__AVR__) && !defined(TARGET_LPC1768) && !( \
|
||||
defined(X_HARDWARE_SERIAL ) \
|
||||
|| defined(X2_HARDWARE_SERIAL) \
|
||||
|| defined(Y_HARDWARE_SERIAL ) \
|
||||
@ -1983,25 +2018,36 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
// is necessary in order to reset the stallGuard indication between the initial movement of all three
|
||||
// towers to +Z and the individual homing of each tower. This restriction can be removed once a means of
|
||||
// clearing the stallGuard activated status is found.
|
||||
|
||||
// Stall detection DIAG = HIGH : TMC2209
|
||||
// Stall detection DIAG = LOW : TMC2130/TMC2160/TMC2660/TMC5130/TMC5160
|
||||
#define X_ENDSTOP_INVERTING !AXIS_DRIVER_TYPE(X,TMC2209)
|
||||
#define Y_ENDSTOP_INVERTING !AXIS_DRIVER_TYPE(Y,TMC2209)
|
||||
#define Z_ENDSTOP_INVERTING !AXIS_DRIVER_TYPE(Z,TMC2209)
|
||||
|
||||
#if ENABLED(DELTA) && !BOTH(STEALTHCHOP_XY, STEALTHCHOP_Z)
|
||||
#error "SENSORLESS_HOMING on DELTA currently requires STEALTHCHOP_XY and STEALTHCHOP_Z."
|
||||
#elif X_SENSORLESS && X_HOME_DIR == -1 && (!X_MIN_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_XMIN))
|
||||
#elif X_SENSORLESS && X_HOME_DIR == -1 && (X_MIN_ENDSTOP_INVERTING != X_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_XMIN))
|
||||
#error "SENSORLESS_HOMING requires X_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_XMIN when homing to X_MIN."
|
||||
#elif X_SENSORLESS && X_HOME_DIR == 1 && (!X_MAX_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_XMAX))
|
||||
#elif X_SENSORLESS && X_HOME_DIR == 1 && (X_MAX_ENDSTOP_INVERTING != X_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_XMAX))
|
||||
#error "SENSORLESS_HOMING requires X_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_XMAX when homing to X_MAX."
|
||||
#elif Y_SENSORLESS && Y_HOME_DIR == -1 && (!Y_MIN_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_YMIN))
|
||||
#elif Y_SENSORLESS && Y_HOME_DIR == -1 && (Y_MIN_ENDSTOP_INVERTING != Y_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_YMIN))
|
||||
#error "SENSORLESS_HOMING requires Y_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_YMIN when homing to Y_MIN."
|
||||
#elif Y_SENSORLESS && Y_HOME_DIR == 1 && (!Y_MAX_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_YMAX))
|
||||
#elif Y_SENSORLESS && Y_HOME_DIR == 1 && (Y_MAX_ENDSTOP_INVERTING != Y_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_YMAX))
|
||||
#error "SENSORLESS_HOMING requires Y_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_YMAX when homing to Y_MAX."
|
||||
#elif Z_SENSORLESS && Z_HOME_DIR == -1 && (!Z_MIN_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_ZMIN))
|
||||
#elif Z_SENSORLESS && Z_HOME_DIR == -1 && (Z_MIN_ENDSTOP_INVERTING != Z_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_ZMIN))
|
||||
#error "SENSORLESS_HOMING requires Z_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_ZMIN when homing to Z_MIN."
|
||||
#elif Z_SENSORLESS && Z_HOME_DIR == 1 && (!Z_MAX_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_ZMAX))
|
||||
#elif Z_SENSORLESS && Z_HOME_DIR == 1 && (Z_MAX_ENDSTOP_INVERTING != Z_ENDSTOP_INVERTING || DISABLED(ENDSTOPPULLUP_ZMAX))
|
||||
#error "SENSORLESS_HOMING requires Z_MAX_ENDSTOP_INVERTING and ENDSTOPPULLUP_ZMAX when homing to Z_MAX."
|
||||
#elif ENDSTOP_NOISE_THRESHOLD
|
||||
#error "SENSORLESS_HOMING is incompatible with ENDSTOP_NOISE_THRESHOLD."
|
||||
#elif !(X_SENSORLESS || Y_SENSORLESS || Z_SENSORLESS)
|
||||
#error "SENSORLESS_HOMING requires a TMC stepper driver with StallGuard on X, Y, or Z axes."
|
||||
#endif
|
||||
|
||||
#undef X_ENDSTOP_INVERTING
|
||||
#undef Y_ENDSTOP_INVERTING
|
||||
#undef Z_ENDSTOP_INVERTING
|
||||
#endif
|
||||
|
||||
// Sensorless probing requirements
|
||||
@ -2026,11 +2072,11 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
|
||||
#if ENABLED(HYBRID_THRESHOLD) && !STEALTHCHOP_ENABLED
|
||||
#error "Enable STEALTHCHOP_(XY|Z|E) to use HYBRID_THRESHOLD."
|
||||
#elif ENABLED(SENSORLESS_HOMING) && !HAS_STALLGUARD
|
||||
#error "SENSORLESS_HOMING requires TMC2130 or TMC2160 or TMC5160 stepper drivers."
|
||||
#error "SENSORLESS_HOMING requires TMC2130, TMC2160, TMC2209, TMC2660, or TMC5160 stepper drivers."
|
||||
#elif ENABLED(SENSORLESS_PROBING) && !HAS_STALLGUARD
|
||||
#error "SENSORLESS_PROBING requires TMC2130 stepper drivers."
|
||||
#error "SENSORLESS_PROBING requires TMC2130, TMC2160, TMC2209, TMC2660, or TMC5160 stepper drivers."
|
||||
#elif STEALTHCHOP_ENABLED && !HAS_STEALTHCHOP
|
||||
#error "STEALTHCHOP requires TMC2130 or TMC2160 or TMC2208 or TMC5160 stepper drivers."
|
||||
#error "STEALTHCHOP requires TMC2130, TMC2160, TMC2208, TMC2209, or TMC5160 stepper drivers."
|
||||
#endif
|
||||
|
||||
#if ENABLED(DELTA) && (ENABLED(STEALTHCHOP_XY) != ENABLED(STEALTHCHOP_Z))
|
||||
|
@ -473,13 +473,13 @@ namespace ExtUI {
|
||||
int getTMCBumpSensitivity(const axis_t axis) {
|
||||
switch (axis) {
|
||||
#if X_SENSORLESS && AXIS_HAS_STALLGUARD(X)
|
||||
case X: return stepperX.sgt();
|
||||
case X: return stepperX.homing_threshold();
|
||||
#endif
|
||||
#if Y_SENSORLESS && AXIS_HAS_STALLGUARD(Y)
|
||||
case Y: return stepperY.sgt();
|
||||
case Y: return stepperY.homing_threshold();
|
||||
#endif
|
||||
#if Z_SENSORLESS && AXIS_HAS_STALLGUARD(Z)
|
||||
case Z: return stepperZ.sgt();
|
||||
case Z: return stepperZ.homing_threshold();
|
||||
#endif
|
||||
default: return 0;
|
||||
}
|
||||
@ -488,13 +488,13 @@ namespace ExtUI {
|
||||
void setTMCBumpSensitivity(const float value, const axis_t axis) {
|
||||
switch (axis) {
|
||||
#if X_SENSORLESS && AXIS_HAS_STALLGUARD(X)
|
||||
case X: stepperX.sgt(clamp(value, -64, 63)); break;
|
||||
case X: stepperX.homing_threshold(value); break;
|
||||
#endif
|
||||
#if Y_SENSORLESS && AXIS_HAS_STALLGUARD(Y)
|
||||
case Y: stepperY.sgt(clamp(value, -64, 63)); break;
|
||||
case Y: stepperY.homing_threshold(value); break;
|
||||
#endif
|
||||
#if Z_SENSORLESS && AXIS_HAS_STALLGUARD(Z)
|
||||
case Z: stepperZ.sgt(clamp(value, -64, 63)); break;
|
||||
case Z: stepperZ.homing_threshold(value); break;
|
||||
#endif
|
||||
default: break;
|
||||
}
|
||||
|
@ -212,7 +212,7 @@ void menu_tmc_current() {
|
||||
|
||||
#if ENABLED(SENSORLESS_HOMING)
|
||||
|
||||
#define TMC_EDIT_STORED_SGT(ST) MENU_ITEM_EDIT_CALLBACK(int8, MSG_##ST, &stepper##ST.stored.homing_thrs, -64, 63, refresh_homing_thrs_##ST);
|
||||
#define TMC_EDIT_STORED_SGT(ST) MENU_ITEM_EDIT_CALLBACK(int4, MSG_##ST, &stepper##ST.stored.homing_thrs, stepper##ST.sgt_min, stepper##ST.sgt_max, refresh_homing_thrs_##ST);
|
||||
|
||||
#if X_SENSORLESS
|
||||
void refresh_homing_thrs_X() { stepperX.refresh_homing_thrs(); }
|
||||
|
@ -1051,13 +1051,13 @@ void MarlinSettings::postprocess() {
|
||||
tmc_sgt_t tmc_sgt = { 0, 0, 0 };
|
||||
#if USE_SENSORLESS
|
||||
#if X_SENSORLESS
|
||||
tmc_sgt.X = stepperX.sgt();
|
||||
tmc_sgt.X = stepperX.homing_threshold();
|
||||
#endif
|
||||
#if Y_SENSORLESS
|
||||
tmc_sgt.Y = stepperY.sgt();
|
||||
tmc_sgt.Y = stepperY.homing_threshold();
|
||||
#endif
|
||||
#if Z_SENSORLESS
|
||||
tmc_sgt.Z = stepperZ.sgt();
|
||||
tmc_sgt.Z = stepperZ.homing_threshold();
|
||||
#endif
|
||||
#endif
|
||||
EEPROM_WRITE(tmc_sgt);
|
||||
@ -1834,29 +1834,29 @@ void MarlinSettings::postprocess() {
|
||||
if (!validating) {
|
||||
#ifdef X_STALL_SENSITIVITY
|
||||
#if AXIS_HAS_STALLGUARD(X)
|
||||
stepperX.sgt(tmc_sgt.X);
|
||||
stepperX.homing_threshold(tmc_sgt.X);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(X2)
|
||||
stepperX2.sgt(tmc_sgt.X);
|
||||
stepperX2.homing_threshold(tmc_sgt.X);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef Y_STALL_SENSITIVITY
|
||||
#if AXIS_HAS_STALLGUARD(Y)
|
||||
stepperY.sgt(tmc_sgt.Y);
|
||||
stepperY.homing_threshold(tmc_sgt.Y);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Y2)
|
||||
stepperY2.sgt(tmc_sgt.Y);
|
||||
stepperY2.homing_threshold(tmc_sgt.Y);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef Z_STALL_SENSITIVITY
|
||||
#if AXIS_HAS_STALLGUARD(Z)
|
||||
stepperZ.sgt(tmc_sgt.Z);
|
||||
stepperZ.homing_threshold(tmc_sgt.Z);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Z2)
|
||||
stepperZ2.sgt(tmc_sgt.Z);
|
||||
stepperZ2.homing_threshold(tmc_sgt.Z);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Z3)
|
||||
stepperZ3.sgt(tmc_sgt.Z);
|
||||
stepperZ3.homing_threshold(tmc_sgt.Z);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@ -3259,13 +3259,13 @@ void MarlinSettings::reset() {
|
||||
#if X_SENSORLESS || Y_SENSORLESS || Z_SENSORLESS
|
||||
say_M914();
|
||||
#if X_SENSORLESS
|
||||
SERIAL_ECHOPAIR(" X", stepperX.sgt());
|
||||
SERIAL_ECHOPAIR(" X", stepperX.homing_threshold());
|
||||
#endif
|
||||
#if Y_SENSORLESS
|
||||
SERIAL_ECHOPAIR(" Y", stepperY.sgt());
|
||||
SERIAL_ECHOPAIR(" Y", stepperY.homing_threshold());
|
||||
#endif
|
||||
#if Z_SENSORLESS
|
||||
SERIAL_ECHOPAIR(" Z", stepperZ.sgt());
|
||||
SERIAL_ECHOPAIR(" Z", stepperZ.homing_threshold());
|
||||
#endif
|
||||
SERIAL_EOL();
|
||||
#endif
|
||||
@ -3278,20 +3278,20 @@ void MarlinSettings::reset() {
|
||||
say_M914();
|
||||
SERIAL_ECHOPGM(" I1");
|
||||
#if HAS_X2_SENSORLESS
|
||||
SERIAL_ECHOPAIR(" X", stepperX2.sgt());
|
||||
SERIAL_ECHOPAIR(" X", stepperX2.homing_threshold());
|
||||
#endif
|
||||
#if HAS_Y2_SENSORLESS
|
||||
SERIAL_ECHOPAIR(" Y", stepperY2.sgt());
|
||||
SERIAL_ECHOPAIR(" Y", stepperY2.homing_threshold());
|
||||
#endif
|
||||
#if HAS_Z2_SENSORLESS
|
||||
SERIAL_ECHOPAIR(" Z", stepperZ2.sgt());
|
||||
SERIAL_ECHOPAIR(" Z", stepperZ2.homing_threshold());
|
||||
#endif
|
||||
SERIAL_EOL();
|
||||
#endif
|
||||
|
||||
#if HAS_Z3_SENSORLESS
|
||||
say_M914();
|
||||
SERIAL_ECHOLNPAIR(" I2 Z", stepperZ3.sgt());
|
||||
SERIAL_ECHOLNPAIR(" I2 Z", stepperZ3.homing_threshold());
|
||||
#endif
|
||||
|
||||
#endif // USE_SENSORLESS
|
||||
|
@ -163,8 +163,8 @@
|
||||
#define __TMC_SPI_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_CS_PIN, ST##_RSENSE)
|
||||
#endif
|
||||
|
||||
#define TMC_UART_HW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(&ST##_HARDWARE_SERIAL, ST##_RSENSE)
|
||||
#define TMC_UART_SW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN, ST##_RSENSE, ST##_SERIAL_RX_PIN > -1)
|
||||
#define TMC_UART_HW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(&ST##_HARDWARE_SERIAL, ST##_RSENSE, ST##_SLAVE_ADDRESS)
|
||||
#define TMC_UART_SW_DEFINE(IC, ST, L, AI) TMCMarlin<IC##Stepper, L, AI> stepper##ST(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN, ST##_RSENSE, ST##_SLAVE_ADDRESS, ST##_SERIAL_RX_PIN > -1)
|
||||
|
||||
#define _TMC_SPI_DEFINE(IC, ST, AI) __TMC_SPI_DEFINE(IC, ST, TMC_##ST##_LABEL, AI)
|
||||
#define TMC_SPI_DEFINE(ST, AI) _TMC_SPI_DEFINE(ST##_DRIVER_TYPE, ST, AI##_AXIS)
|
||||
@ -318,95 +318,94 @@
|
||||
#endif // TMC2160
|
||||
|
||||
//
|
||||
// TMC2208 Driver objects and inits
|
||||
// TMC2208/2209 Driver objects and inits
|
||||
//
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
// Stepper objects of TMC2208 steppers used
|
||||
#if AXIS_DRIVER_TYPE_X(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
#if AXIS_HAS_UART(X)
|
||||
#ifdef X_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE(HW, X, X);
|
||||
#else
|
||||
TMC_UART_DEFINE(SW, X, X);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC2208)
|
||||
#if AXIS_HAS_UART(X2)
|
||||
#ifdef X2_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE(HW, X2, X);
|
||||
#else
|
||||
TMC_UART_DEFINE(SW, X2, X);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC2208)
|
||||
#if AXIS_HAS_UART(Y)
|
||||
#ifdef Y_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE(HW, Y, Y);
|
||||
#else
|
||||
TMC_UART_DEFINE(SW, Y, Y);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC2208)
|
||||
#if AXIS_HAS_UART(Y2)
|
||||
#ifdef Y2_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE(HW, Y2, Y);
|
||||
#else
|
||||
TMC_UART_DEFINE(SW, Y2, Y);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC2208)
|
||||
#if AXIS_HAS_UART(Z)
|
||||
#ifdef Z_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE(HW, Z, Z);
|
||||
#else
|
||||
TMC_UART_DEFINE(SW, Z, Z);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC2208)
|
||||
#if AXIS_HAS_UART(Z2)
|
||||
#ifdef Z2_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE(HW, Z2, Z);
|
||||
#else
|
||||
TMC_UART_DEFINE(SW, Z2, Z);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC2208)
|
||||
#if AXIS_HAS_UART(Z3)
|
||||
#ifdef Z3_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE(HW, Z3, Z);
|
||||
#else
|
||||
TMC_UART_DEFINE(SW, Z3, Z);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC2208)
|
||||
#if AXIS_HAS_UART(E0)
|
||||
#ifdef E0_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE_E(HW, 0);
|
||||
#else
|
||||
TMC_UART_DEFINE_E(SW, 0);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC2208)
|
||||
#if AXIS_HAS_UART(E1)
|
||||
#ifdef E1_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE_E(HW, 1);
|
||||
#else
|
||||
TMC_UART_DEFINE_E(SW, 1);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC2208)
|
||||
#if AXIS_HAS_UART(E2)
|
||||
#ifdef E2_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE_E(HW, 2);
|
||||
#else
|
||||
TMC_UART_DEFINE_E(SW, 2);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC2208)
|
||||
#if AXIS_HAS_UART(E3)
|
||||
#ifdef E3_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE_E(HW, 3);
|
||||
#else
|
||||
TMC_UART_DEFINE_E(SW, 3);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC2208)
|
||||
#if AXIS_HAS_UART(E4)
|
||||
#ifdef E4_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE_E(HW, 4);
|
||||
#else
|
||||
TMC_UART_DEFINE_E(SW, 4);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC2208)
|
||||
#if AXIS_HAS_UART(E5)
|
||||
#ifdef E5_HARDWARE_SERIAL
|
||||
TMC_UART_DEFINE_E(HW, 5);
|
||||
#else
|
||||
@ -414,92 +413,92 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void tmc2208_serial_begin() {
|
||||
#if AXIS_DRIVER_TYPE_X(TMC2208)
|
||||
void tmc_serial_begin() {
|
||||
#if AXIS_HAS_UART(X)
|
||||
#ifdef X_HARDWARE_SERIAL
|
||||
X_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperX.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_X2(TMC2208)
|
||||
#if AXIS_HAS_UART(X2)
|
||||
#ifdef X2_HARDWARE_SERIAL
|
||||
X2_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperX2.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Y(TMC2208)
|
||||
#if AXIS_HAS_UART(Y)
|
||||
#ifdef Y_HARDWARE_SERIAL
|
||||
Y_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperY.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Y2(TMC2208)
|
||||
#if AXIS_HAS_UART(Y2)
|
||||
#ifdef Y2_HARDWARE_SERIAL
|
||||
Y2_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperY2.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z(TMC2208)
|
||||
#if AXIS_HAS_UART(Z)
|
||||
#ifdef Z_HARDWARE_SERIAL
|
||||
Z_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperZ.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z2(TMC2208)
|
||||
#if AXIS_HAS_UART(Z2)
|
||||
#ifdef Z2_HARDWARE_SERIAL
|
||||
Z2_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperZ2.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_Z3(TMC2208)
|
||||
#if AXIS_HAS_UART(Z3)
|
||||
#ifdef Z3_HARDWARE_SERIAL
|
||||
Z3_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperZ3.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E0(TMC2208)
|
||||
#if AXIS_HAS_UART(E0)
|
||||
#ifdef E0_HARDWARE_SERIAL
|
||||
E0_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperE0.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E1(TMC2208)
|
||||
#if AXIS_HAS_UART(E1)
|
||||
#ifdef E1_HARDWARE_SERIAL
|
||||
E1_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperE1.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E2(TMC2208)
|
||||
#if AXIS_HAS_UART(E2)
|
||||
#ifdef E2_HARDWARE_SERIAL
|
||||
E2_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperE2.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E3(TMC2208)
|
||||
#if AXIS_HAS_UART(E3)
|
||||
#ifdef E3_HARDWARE_SERIAL
|
||||
E3_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperE3.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E4(TMC2208)
|
||||
#if AXIS_HAS_UART(E4)
|
||||
#ifdef E4_HARDWARE_SERIAL
|
||||
E4_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
stepperE4.beginSerial(115200);
|
||||
#endif
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE_E5(TMC2208)
|
||||
#if AXIS_HAS_UART(E5)
|
||||
#ifdef E5_HARDWARE_SERIAL
|
||||
E5_HARDWARE_SERIAL.begin(115200);
|
||||
#else
|
||||
@ -507,7 +506,9 @@
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
template<char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
|
||||
void tmc_init(TMCMarlin<TMC2208Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const bool stealth) {
|
||||
TMC2208_n::GCONF_t gconf{0};
|
||||
@ -555,6 +556,50 @@
|
||||
}
|
||||
#endif // TMC2208
|
||||
|
||||
#if HAS_DRIVER(TMC2209)
|
||||
template<char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
|
||||
void tmc_init(TMCMarlin<TMC2209Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t thrs, const bool stealth) {
|
||||
TMC2208_n::GCONF_t gconf{0};
|
||||
gconf.pdn_disable = true; // Use UART
|
||||
gconf.mstep_reg_select = true; // Select microsteps with UART
|
||||
gconf.i_scale_analog = false;
|
||||
gconf.en_spreadcycle = !stealth;
|
||||
st.GCONF(gconf.sr);
|
||||
st.stored.stealthChop_enabled = stealth;
|
||||
|
||||
TMC2208_n::CHOPCONF_t chopconf{0};
|
||||
chopconf.tbl = 0b01; // blank_time = 24
|
||||
chopconf.toff = chopper_timing.toff;
|
||||
chopconf.intpol = INTERPOLATE;
|
||||
chopconf.hend = chopper_timing.hend + 3;
|
||||
chopconf.hstrt = chopper_timing.hstrt - 1;
|
||||
st.CHOPCONF(chopconf.sr);
|
||||
|
||||
st.rms_current(mA, HOLD_MULTIPLIER);
|
||||
st.microsteps(microsteps);
|
||||
st.iholddelay(10);
|
||||
st.TPOWERDOWN(128); // ~2s until driver lowers to hold current
|
||||
|
||||
TMC2208_n::PWMCONF_t pwmconf{0};
|
||||
pwmconf.pwm_lim = 12;
|
||||
pwmconf.pwm_reg = 8;
|
||||
pwmconf.pwm_autograd = true;
|
||||
pwmconf.pwm_autoscale = true;
|
||||
pwmconf.pwm_freq = 0b01;
|
||||
pwmconf.pwm_grad = 14;
|
||||
pwmconf.pwm_ofs = 36;
|
||||
st.PWMCONF(pwmconf.sr);
|
||||
|
||||
#if ENABLED(HYBRID_THRESHOLD)
|
||||
st.set_pwm_thrs(thrs);
|
||||
#else
|
||||
UNUSED(thrs);
|
||||
#endif
|
||||
|
||||
st.GSTAT(0b111); // Clear
|
||||
}
|
||||
#endif // TMC2209
|
||||
|
||||
#if HAS_DRIVER(TMC2660)
|
||||
template<char AXIS_LETTER, char DRIVER_ID, AxisEnum AXIS_ID>
|
||||
void tmc_init(TMCMarlin<TMC2660Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t, const bool) {
|
||||
@ -791,29 +836,29 @@ void reset_stepper_drivers() {
|
||||
#if USE_SENSORLESS
|
||||
#if X_SENSORLESS
|
||||
#if AXIS_HAS_STALLGUARD(X)
|
||||
stepperX.sgt(X_STALL_SENSITIVITY);
|
||||
stepperX.homing_threshold(X_STALL_SENSITIVITY);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(X2)
|
||||
stepperX2.sgt(X_STALL_SENSITIVITY);
|
||||
stepperX2.homing_threshold(X_STALL_SENSITIVITY);
|
||||
#endif
|
||||
#endif
|
||||
#if Y_SENSORLESS
|
||||
#if AXIS_HAS_STALLGUARD(Y)
|
||||
stepperY.sgt(Y_STALL_SENSITIVITY);
|
||||
stepperY.homing_threshold(Y_STALL_SENSITIVITY);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Y2)
|
||||
stepperY2.sgt(Y_STALL_SENSITIVITY);
|
||||
stepperY2.homing_threshold(Y_STALL_SENSITIVITY);
|
||||
#endif
|
||||
#endif
|
||||
#if Z_SENSORLESS
|
||||
#if AXIS_HAS_STALLGUARD(Z)
|
||||
stepperZ.sgt(Z_STALL_SENSITIVITY);
|
||||
stepperZ.homing_threshold(Z_STALL_SENSITIVITY);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Z2)
|
||||
stepperZ2.sgt(Z_STALL_SENSITIVITY);
|
||||
stepperZ2.homing_threshold(Z_STALL_SENSITIVITY);
|
||||
#endif
|
||||
#if AXIS_HAS_STALLGUARD(Z3)
|
||||
stepperZ3.sgt(Z_STALL_SENSITIVITY);
|
||||
stepperZ3.homing_threshold(Z_STALL_SENSITIVITY);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
@ -58,8 +58,8 @@
|
||||
#if HAS_TRINAMIC
|
||||
#include <TMCStepper.h>
|
||||
#include "../feature/tmc_util.h"
|
||||
#if TMCSTEPPER_VERSION < 0x000401
|
||||
#error "Update TMCStepper library to 0.4.1 or newer."
|
||||
#if TMCSTEPPER_VERSION < 0x000405
|
||||
#error "Update TMCStepper library to 0.4.5 or newer."
|
||||
#endif
|
||||
|
||||
#define ____TMC_CLASS(MODEL, A, I, E) TMCMarlin<TMC##MODEL##Stepper, A, I, E>
|
||||
@ -81,8 +81,8 @@
|
||||
|
||||
static constexpr chopper_timing_t chopper_timing = CHOPPER_TIMING;
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
void tmc2208_serial_begin();
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
void tmc_serial_begin();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -107,9 +107,9 @@
|
||||
#define TMC_SW_SCK P0_04
|
||||
#endif
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
/**
|
||||
* TMC2208 stepper drivers
|
||||
* TMC2208/TMC2209 stepper drivers
|
||||
*
|
||||
* Hardware serial communication ports.
|
||||
* If undefined software serial is used according to the pins below
|
||||
|
@ -116,7 +116,7 @@
|
||||
// the jumper next to the limit switch socket when using sensorless homing.
|
||||
//
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
// Software serial
|
||||
#define X_SERIAL_RX_PIN 71
|
||||
#define X_SERIAL_TX_PIN 72
|
||||
|
@ -288,7 +288,7 @@
|
||||
|
||||
/**
|
||||
* Example for trinamic drivers using the J8 connector on MKs Sbase.
|
||||
* 2130s need 1 pin for each driver. 2208s need 2 pins for serial control.
|
||||
* 2130s need 1 pin for each driver. 2208/2209s need 2 pins for serial control.
|
||||
* This board does not have enough pins to use hardware serial.
|
||||
*/
|
||||
|
||||
@ -316,7 +316,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if MB(MKS_SBASE) && HAS_DRIVER(TMC2208)
|
||||
#if MB(MKS_SBASE) && (HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209))
|
||||
// The shortage of pins becomes apparent.
|
||||
// Worst case you may have to give up the LCD
|
||||
// RX pins need to be interrupt capable
|
||||
|
@ -42,7 +42,7 @@
|
||||
//#define BTN_EN1 P1_23 // EXP2.5
|
||||
//#define BTN_EN2 P1_22 // EXP2.3
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
// The shortage of pins becomes apparent.
|
||||
// In the worst case you may have to give up the LCD.
|
||||
// RX pins must be interrupt-capable.
|
||||
|
@ -293,9 +293,9 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
/**
|
||||
* TMC2208 stepper drivers
|
||||
* TMC2208/TMC2209 stepper drivers
|
||||
*
|
||||
* Hardware serial communication ports.
|
||||
* If undefined software serial is used according to the pins below
|
||||
|
@ -204,9 +204,9 @@
|
||||
|
||||
#endif // ULTRA_LCD
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
/**
|
||||
* TMC2208 stepper drivers
|
||||
* TMC2208/TMC2209 stepper drivers
|
||||
*
|
||||
* Hardware serial communication ports.
|
||||
* If undefined software serial is used according to the pins below
|
||||
|
@ -268,9 +268,9 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(HAVE_TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
/**
|
||||
* TMC2208 stepper drivers
|
||||
* TMC2208/TMC2209 stepper drivers
|
||||
*
|
||||
* Hardware serial communication ports.
|
||||
* If undefined software serial is used according to the pins below
|
||||
|
@ -106,9 +106,9 @@
|
||||
#define TMC_SW_SCK P1_09 // ETH
|
||||
#endif
|
||||
|
||||
#if HAS_DRIVER(TMC2208)
|
||||
#if HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2209)
|
||||
/**
|
||||
* TMC2208 stepper drivers
|
||||
* TMC2208/TMC2209 stepper drivers
|
||||
*
|
||||
* Hardware serial communication ports.
|
||||
* If undefined software serial is used according to the pins below
|
||||
|
@ -298,11 +298,12 @@ use_example_configs SCARA
|
||||
opt_enable USE_ZMIN_PLUG FIX_MOUNTED_PROBE AUTO_BED_LEVELING_BILINEAR PAUSE_BEFORE_DEPLOY_STOW \
|
||||
EEPROM_SETTINGS EEPROM_CHITCHAT ULTIMAKERCONTROLLER \
|
||||
MONITOR_DRIVER_STATUS STEALTHCHOP_XY STEALTHCHOP_Z STEALTHCHOP_E HYBRID_THRESHOLD SENSORLESS_HOMING SQUARE_WAVE_STEPPING
|
||||
opt_set X_DRIVER_TYPE TMC2130
|
||||
opt_set X_MAX_ENDSTOP_INVERTING false
|
||||
opt_set X_DRIVER_TYPE TMC2209
|
||||
opt_set Y_DRIVER_TYPE TMC2130
|
||||
opt_set Z_DRIVER_TYPE TMC2130
|
||||
opt_set E0_DRIVER_TYPE TMC2660
|
||||
exec_test $1 $2 "SCARA with TMC2130 and TMC2660"
|
||||
exec_test $1 $2 "SCARA with TMC2130, TMC2209, and TMC2660"
|
||||
#
|
||||
# Test mixed TMC config
|
||||
#
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -642,11 +642,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -657,11 +657,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -648,11 +648,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1728,6 +1728,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -657,11 +657,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -650,11 +650,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -648,11 +648,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
#define X_DRIVER_TYPE A4988
|
||||
#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -649,11 +649,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
#define X_DRIVER_TYPE A4988
|
||||
#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -647,11 +647,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -638,11 +638,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1730,6 +1730,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -625,11 +625,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -638,11 +638,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1734,6 +1734,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -625,11 +625,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -636,11 +636,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -647,11 +647,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -656,11 +656,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -647,11 +647,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -641,11 +641,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -641,11 +641,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -647,11 +647,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -637,11 +637,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
#define X_DRIVER_TYPE A5984
|
||||
#define Y_DRIVER_TYPE A5984
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -642,11 +642,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
#define X_DRIVER_TYPE TMC2100
|
||||
#define Y_DRIVER_TYPE TMC2100
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -647,11 +647,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -618,11 +618,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -618,11 +618,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -627,11 +627,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1725,6 +1725,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -642,11 +642,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -689,11 +689,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1728,6 +1728,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -666,11 +666,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1730,6 +1730,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -646,11 +646,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1730,6 +1730,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
@ -620,11 +620,11 @@
|
||||
* A4988 is assumed for unspecified drivers.
|
||||
*
|
||||
* Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
|
||||
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
|
||||
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
|
||||
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
|
||||
* TMC2160, TMC2160_STANDALONE, TMC5130, TMC5130_STANDALONE,
|
||||
* TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
|
||||
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
|
||||
*/
|
||||
//#define X_DRIVER_TYPE A4988
|
||||
//#define Y_DRIVER_TYPE A4988
|
||||
|
@ -1726,6 +1726,29 @@
|
||||
//#define TMC_SW_MISO -1
|
||||
//#define TMC_SW_SCK -1
|
||||
|
||||
/**
|
||||
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
|
||||
* Set the address using jumpers on pins MS1 and MS2.
|
||||
* Address | MS1 | MS2
|
||||
* 0 | LOW | LOW
|
||||
* 1 | HIGH | LOW
|
||||
* 2 | LOW | HIGH
|
||||
* 3 | HIGH | HIGH
|
||||
*/
|
||||
#define X_SLAVE_ADDRESS 0
|
||||
#define Y_SLAVE_ADDRESS 0
|
||||
#define Z_SLAVE_ADDRESS 0
|
||||
#define X2_SLAVE_ADDRESS 0
|
||||
#define Y2_SLAVE_ADDRESS 0
|
||||
#define Z2_SLAVE_ADDRESS 0
|
||||
#define Z3_SLAVE_ADDRESS 0
|
||||
#define E0_SLAVE_ADDRESS 0
|
||||
#define E1_SLAVE_ADDRESS 0
|
||||
#define E2_SLAVE_ADDRESS 0
|
||||
#define E3_SLAVE_ADDRESS 0
|
||||
#define E4_SLAVE_ADDRESS 0
|
||||
#define E5_SLAVE_ADDRESS 0
|
||||
|
||||
/**
|
||||
* Software enable
|
||||
*
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user