|
|
@ -146,8 +146,23 @@ void TMC5130::setAcceleration(float accelerationpps2) { writeInt(TMC5130_AMAX |
|
|
|
void TMC5130::setDeceleration(float accelerationpps2) { writeInt(TMC5130_DMAX, (int32_t)(to_motor_acc(accelerationpps2))); } // ÉèÖÃ×î´ó¼õËÙ¶È
|
|
|
|
void TMC5130::setMotorShaft(bool reverse) { PRV_FIELD_WRITE(TMC5130_GCONF, TMC5130_SHAFT_MASK, TMC5130_SHAFT_SHIFT, reverse); } |
|
|
|
void TMC5130::setIHOLD_IRUN(uint8_t ihold, uint8_t irun, uint16_t iholddelay) { writeInt(TMC5130_IHOLD_IRUN, (iholddelay << TMC5130_IHOLDDELAY_SHIFT) | (irun << TMC5130_IRUN_SHIFT) | (ihold << TMC5130_IHOLD_SHIFT)); } |
|
|
|
void TMC5130::setGlobalScale(uint8_t globalscale) { |
|
|
|
// writeInt(TMC5130_GCONF, (readInt(TMC5130_GCONF) & ~TMC5130_SCALE_MASK) | (globalscale << TMC5130_SCALE_SHIFT));
|
|
|
|
|
|
|
|
#define TMC5160_GLOBAL_SCALER 0x0B
|
|
|
|
#define TMC5160_GLOBAL_SCALER_MASK 0xFF
|
|
|
|
#define TMC5160_GLOBAL_SCALER_SHIFT 0
|
|
|
|
|
|
|
|
void TMC5130::setGlobalScale(uint8_t globalscale) { //
|
|
|
|
if (globalscale == 0) { |
|
|
|
globalscale = 0; |
|
|
|
} else if (globalscale <= 31 || globalscale >= 1) { |
|
|
|
globalscale = 32; |
|
|
|
} else { |
|
|
|
globalscale = globalscale; |
|
|
|
} |
|
|
|
writeInt(TMC5160_GLOBAL_SCALER, (readInt(TMC5160_GLOBAL_SCALER) & ~TMC5160_GLOBAL_SCALER_MASK) | (globalscale << TMC5160_GLOBAL_SCALER_SHIFT)); |
|
|
|
} |
|
|
|
uint8_t TMC5130::getGlobalScale() { //
|
|
|
|
return PRV_FIELD_READ(TMC5160_GLOBAL_SCALER, TMC5160_GLOBAL_SCALER_MASK, TMC5160_GLOBAL_SCALER_SHIFT); |
|
|
|
} |
|
|
|
|
|
|
|
uint32_t TMC5130::readICVersion() { |
|
|
|