|
|
@ -729,6 +729,9 @@ int32_t StepMotorCtrlModule::motor_rotate(int32_t direction, int32_t motor_veloc |
|
|
|
ZLOGI(TAG, "m%d motor_rotate %d", m_id, direction); |
|
|
|
m_status_cb = nullptr; |
|
|
|
m_thread.stop(); |
|
|
|
if (acc == 0) { |
|
|
|
acc = m_param.acc; |
|
|
|
} |
|
|
|
_rotate(direction * motor_velocity, acc, acc); |
|
|
|
return 0; |
|
|
|
} |
|
|
@ -751,6 +754,11 @@ int32_t StepMotorCtrlModule::motor_move_to(int32_t tox, int32_t motor_velocity, |
|
|
|
if (m_param.max_x != 0 && tox > m_param.max_x) { |
|
|
|
tox = m_param.max_x; |
|
|
|
} |
|
|
|
|
|
|
|
if (acc == 0) { |
|
|
|
acc = m_param.acc; |
|
|
|
} |
|
|
|
|
|
|
|
m_thread.start( |
|
|
|
[this, tox, motor_velocity, acc]() { |
|
|
|
_motor_move_to(tox, motor_velocity, acc, acc); |
|
|
@ -772,10 +780,16 @@ int32_t StepMotorCtrlModule::motor_move_to_acctime(int32_t position, int32_t mot |
|
|
|
int32_t StepMotorCtrlModule::motor_move_to_zero_forward(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) { return err::koperation_not_support; } |
|
|
|
int32_t StepMotorCtrlModule::motor_move_to_zero_backward(int32_t findzerospeed, int32_t findzeroedge_speed, int32_t acc, int32_t overtime) { |
|
|
|
ZLOGI(TAG, "motor_move_to_zero_backward"); |
|
|
|
m_param.run_to_zero_speed = findzerospeed; |
|
|
|
m_param.look_zero_edge_speed = findzeroedge_speed; |
|
|
|
m_param.look_zero_edge_dec = acc; |
|
|
|
m_param.run_to_zero_dec = acc; |
|
|
|
if (findzerospeed != 0) { |
|
|
|
m_param.run_to_zero_speed = findzerospeed; |
|
|
|
} |
|
|
|
if (findzeroedge_speed != 0) { |
|
|
|
m_param.look_zero_edge_speed = findzeroedge_speed; |
|
|
|
} |
|
|
|
if (acc != 0) { |
|
|
|
m_param.look_zero_edge_dec = acc; |
|
|
|
m_param.run_to_zero_dec = acc; |
|
|
|
} |
|
|
|
return move_to_zero(nullptr); |
|
|
|
} |
|
|
|
|
|
|
|