zynq_7010/ZouZhiMotor.cpp

50 lines
1.7 KiB
C++
Raw Normal View History

2023-07-17 03:29:37 +00:00
#include "ZouZhiMotor.h"
#include <thread>
ZouZhiMotor::ZouZhiMotor()
: Motor(motorPorts_Zouzhi)
{
2023-09-14 02:46:04 +00:00
auto t_smbtype =MotorConfig::MTBDType::MT_TMC;//SMBType::MB_DRV_TMC216;// smbtype == SMBType::MB_DRV_TMC216 ? MotorConfig::MTBDType::MT_TMC : MotorConfig::MTBDType::MT_DRV;
2023-07-17 03:29:37 +00:00
m_zouparamex = m_mtconfig->GetMotorSpeedParam(true, t_smbtype, 4, 1, 1);
speedConfig();
}
ZouZhiMotor::~ZouZhiMotor()
{
}
void ZouZhiMotor::start()
{
Motor::start(delays, m_zouparamex.mt_param);
}
void ZouZhiMotor::speedChange(int speed, int dpi, int colormode) // speed should be in range [0,5] (by ply,at 2019.5.23)
{
2023-09-14 02:46:04 +00:00
auto t_smbtype = MotorConfig::MTBDType::MT_TMC;//SMBType::MB_DRV_TMC216;//smbtype == SMBType::MB_DRV_TMC216 ? MotorConfig::MTBDType::MT_TMC : MotorConfig::MTBDType::MT_DRV;
m_zouparamex = m_mtconfig->GetMotorSpeedParam(true, t_smbtype, speed, colormode, dpi);
2023-07-17 03:29:37 +00:00
speedConfig();
}
void ZouZhiMotor::speedRecover()
{
speedConfig();
}
void ZouZhiMotor::speedConfig()
{
2023-10-07 06:08:42 +00:00
// printf("ZouZhiMotor speed=%d \n dpi=%d \n colormode=%d \n finalPeriod=%d \n Fmin=%d \n a=%.2f \n offset=%.2f \n stepnum=%.2f \n finalDelay=%.2f \n ",
// m_zouparamex.speed,
// m_zouparamex.dpi,
// m_zouparamex.colormode,
// m_zouparamex.mt_param.finalPeriod,
// m_zouparamex.mt_param.Fmin,
// m_zouparamex.mt_param.a,
// m_zouparamex.mt_param.offset,
// m_zouparamex.mt_param.stepnum,
// m_zouparamex.mt_param.finalDelay);
2023-07-17 03:29:37 +00:00
delays.clear();
delays = speedup_cfg(m_zouparamex.mt_param.finalPeriod, m_zouparamex.mt_param.Fmin, m_zouparamex.mt_param.stepnum, m_zouparamex.mt_param.a,
m_zouparamex.mt_param.offset, m_zouparamex.mt_param.finalDelay);
2023-09-14 02:46:04 +00:00
}