Add support for TMC2660 (#11998)
This commit is contained in:
committed by
Scott Lahteine
parent
cf0b9eb37c
commit
c447d75916
@@ -487,6 +487,74 @@
|
||||
}
|
||||
#endif // TMC2208
|
||||
|
||||
//
|
||||
// TMC2660 Driver objects and inits
|
||||
//
|
||||
#if HAS_DRIVER(TMC2660)
|
||||
|
||||
#include <SPI.h>
|
||||
#include "planner.h"
|
||||
#include "../core/enum.h"
|
||||
|
||||
#if ENABLED(TMC_USE_SW_SPI)
|
||||
#define _TMC2660_DEFINE(ST, L) TMCMarlin<TMC2660Stepper, L> stepper##ST(ST##_CS_PIN, R_SENSE, TMC_SW_MOSI, TMC_SW_MISO, TMC_SW_SCK)
|
||||
#define TMC2660_DEFINE(ST) _TMC2660_DEFINE(ST, TMC_##ST##_LABEL)
|
||||
#else
|
||||
#define _TMC2660_DEFINE(ST, L) TMCMarlin<TMC2660Stepper, L> stepper##ST(ST##_CS_PIN, R_SENSE)
|
||||
#define TMC2660_DEFINE(ST) _TMC2660_DEFINE(ST, TMC_##ST##_LABEL)
|
||||
#endif
|
||||
|
||||
// Stepper objects of TMC2660 steppers used
|
||||
#if AXIS_DRIVER_TYPE(X, TMC2660)
|
||||
TMC2660_DEFINE(X);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(X2, TMC2660)
|
||||
TMC2660_DEFINE(X2);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(Y, TMC2660)
|
||||
TMC2660_DEFINE(Y);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(Y2, TMC2660)
|
||||
TMC2660_DEFINE(Y2);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(Z, TMC2660)
|
||||
TMC2660_DEFINE(Z);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(Z2, TMC2660)
|
||||
TMC2660_DEFINE(Z2);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(E0, TMC2660)
|
||||
TMC2660_DEFINE(E0);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(E1, TMC2660)
|
||||
TMC2660_DEFINE(E1);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(E2, TMC2660)
|
||||
TMC2660_DEFINE(E2);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(E3, TMC2660)
|
||||
TMC2660_DEFINE(E3);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(E4, TMC2660)
|
||||
TMC2660_DEFINE(E4);
|
||||
#endif
|
||||
#if AXIS_DRIVER_TYPE(E5, TMC2660)
|
||||
TMC2660_DEFINE(E5);
|
||||
#endif
|
||||
|
||||
template<char AXIS_LETTER, char DRIVER_ID>
|
||||
void tmc_init(TMCMarlin<TMC2660Stepper, AXIS_LETTER, DRIVER_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t, const float) {
|
||||
st.begin();
|
||||
st.rms_current(mA);
|
||||
st.microsteps(microsteps);
|
||||
st.blank_time(24);
|
||||
st.toff(5); // Only enables the driver if used with stealthChop
|
||||
st.intpol(INTERPOLATE);
|
||||
//st.hysteresis_start(3);
|
||||
//st.hysteresis_end(2);
|
||||
}
|
||||
#endif // TMC2660
|
||||
|
||||
void restore_stepper_drivers() {
|
||||
#if AXIS_IS_TMC(X)
|
||||
stepperX.push();
|
||||
|
||||
Reference in New Issue
Block a user