Browse Source

v1010| 修改ztmc5130初始化代码

master
zhaohe 4 months ago
parent
commit
26353ea511
  1. 44
      sdk/components/tmc/ic/ztmc5130.cpp
  2. 2
      usrc/version.h

44
sdk/components/tmc/ic/ztmc5130.cpp

@ -47,7 +47,6 @@ void TMC51X0::initialize(cfg_t *cfg) {
}
void TMC51X0::setMRES(mres_type_t value) {
if (value == kmres_256) {
m_onecirclepulse = 51200;
} else if (value == kmres_128) {
@ -72,7 +71,6 @@ void TMC51X0::setMRES(mres_type_t value) {
}
m_MRES = value;
PRV_FIELD_WRITE(TMC5130_CHOPCONF, TMC5130_MRES_MASK, TMC5130_MRES_SHIFT, value);
}
void TMC51X0::setNoAccLimit(bool enable) {
@ -99,20 +97,18 @@ void TMC51X0::enable(bool enable) {
SET_PIN(m_ennpin, !enable);
}
uint8_t TMC51X0::reset() {
stop();
// m_port->TMC5130Port_setResetNPinState(m_channel, false);
SET_PIN(m_csnpin, false);
// m_port->TMC5130Port_sleepus(1000);
zchip_clock_early_delayus(1000);
// m_port->TMC5130Port_setResetNPinState(m_channel, true);
// SET_PIN(m_csnpin, false);
// zchip_clock_early_delayus(1000);
SET_PIN(m_csnpin, true);
for (uint32_t add = 0; add < TMC5130_REGISTER_COUNT; add++) {
if (!TMC_IS_RESETTABLE(m_registerAccessTable[add])) {
continue;
}
writeInt(add, m_defaultRegisterResetState[add]);
}
stop();
enable(false);
// for (uint32_t add = 0; add < TMC5130_REGISTER_COUNT; add++) {
// if (!TMC_IS_RESETTABLE(m_registerAccessTable[add])) {
// continue;
// }
// writeInt(add, m_defaultRegisterResetState[add]);
// }
writeInt(TMC5130_PWMCONF, 0x000500C8);
writeInt(TMC5130_CHOPCONF, 0x000100c3);
writeInt(TMC5130_IHOLD_IRUN, 0x00051A00);
@ -120,19 +116,23 @@ uint8_t TMC51X0::reset() {
writeInt(TMC5130_XTARGET, 0);
writeInt(TMC5130_XACTUAL, 0x00000000);
writeInt(TMC5130_VACTUAL, 0x00000000);
writeInt(TMC5130_VSTART, 3000);
writeInt(TMC5130_A1, 0);
writeInt(TMC5130_V1, 0);
writeInt(TMC5130_D1, 0);
writeInt(TMC5130_VSTOP, 3000);
writeInt(TMC5130_TZEROWAIT, 0);
// TMC5130_AMAX
setAcceleration(100);
setDeceleration(100);
set_vstart(100);
set_a1(15);
set_amax(15);
set_v1(500);
set_dmax(15);
set_d1(15);
set_vstop(100);
set_tzerowait(100);
setIHOLD_IRUN(0, 4, 1);
enable(false);
return 0;
}
int32_t TMC51X0::getXACTUAL() { return to_user_pos(readInt(TMC5130_XACTUAL)); }
void TMC51X0::setXACTUAL(int32_t value) {
/**

2
usrc/version.h

@ -1,2 +1,2 @@
#pragma once
#define PC_VERSION 1009
#define PC_VERSION 1010
Loading…
Cancel
Save