Browse Source

修复tmc51x0错误的停止方式

transmit_disinfection
zhaohe 11 months ago
parent
commit
c329787809
  1. 14
      tmcdriver/tmc51x0/tmc51x0.cpp

14
tmcdriver/tmc51x0/tmc51x0.cpp

@ -30,7 +30,7 @@ static const uint8_t tmc5130_defaultRegisterAccess[TMC5130_REGISTER_COUNT] = {
#endif
/***********************************************************************************************************************
* ? *
* ? *
***********************************************************************************************************************/
#define FIELD_SET(data, mask, shift, value) (data = (((data) & (~(mask))) | (((value) << (shift)) & (mask))))
@ -107,7 +107,7 @@ void TMC51X0::writeField(uint8_t add, uint32_t mask, uint32_t shift, uint32_t va
int32_t TMC51X0::readInt(uint8_t address) {
/**
* @WARNING:
* ?
* ?
*/
address = TMC51x0_ADDRESS(address);
@ -176,8 +176,16 @@ int32_t TMC51X0::to_user_vel(int32_t vel) { //
***********************************************************************************************************************/
void TMC51X0::stop() {
zlock_guard lkg(m_mutex);
int mode = readInt(TMC5130_RAMPMODE);
if (mode == TMC5130_MODE_POSITION) {
// writeInt(TMC5130_RAMPMODE, TMC5130_MODE_POSITION);
writeInt(TMC5130_VMAX, to_motor_vel(300));
writeInt(TMC5130_XTARGET, readInt(TMC5130_XACTUAL));
} else {
rotate(0);
}
// rotate(0);
}
void TMC51X0::rotate(int32_t velocity) {
zlock_guard lkg(m_mutex);

Loading…
Cancel
Save