diff --git a/sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp b/sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp index b2cf7f5..e80e8e7 100644 --- a/sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp +++ b/sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp @@ -599,9 +599,17 @@ int32_t StepMotorCtrlModule::do_step_motor_easy_move_to_zero() { m_thread.start( [this]() { befor_motor_move(); - exec_move_to_io_task(0, -1); + bool moveToZeroSuc = false; + do { + if (!exec_move_to_io_task(0, -1)) { + break; + } + moveToZeroSuc = true; + } while (false); after_motor_move(); - setnowpos(0 + m_cfg.motor_dzero); + if (moveToZeroSuc) { + setnowpos(0 + m_cfg.motor_dzero); + } }, [this]() { m_stepM1->stop(); }); return 0;