diff --git a/sdk/components/tmc/ic/ztmc5130.cpp b/sdk/components/tmc/ic/ztmc5130.cpp index f510dd8..fed9d95 100644 --- a/sdk/components/tmc/ic/ztmc5130.cpp +++ b/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) { /** diff --git a/usrc/version.h b/usrc/version.h index bc805a4..ce840be 100644 --- a/usrc/version.h +++ b/usrc/version.h @@ -1,2 +1,2 @@ #pragma once -#define PC_VERSION 1009 +#define PC_VERSION 1010