diff --git a/api/apibasic/cmdid.cpp b/api/apibasic/cmdid.cpp index 6430403..808e3fa 100644 --- a/api/apibasic/cmdid.cpp +++ b/api/apibasic/cmdid.cpp @@ -90,6 +90,7 @@ static cmdinfo_t table[] = { CMD_ITERM(kstep_motor_set_subdevice_reg), CMD_ITERM(kstep_motor_get_subdevice_reg), CMD_ITERM(kstep_motor_easy_reciprocating_motion), + CMD_ITERM(kstep_motor_easy_move_to_zero_point_quick), CMD_ITERM(kmini_servo_enable), CMD_ITERM(kmini_servo_read_pos), diff --git a/api/apibasic/cmdid.hpp b/api/apibasic/cmdid.hpp index 122a804..58818e4 100644 --- a/api/apibasic/cmdid.hpp +++ b/api/apibasic/cmdid.hpp @@ -64,19 +64,20 @@ typedef enum { * STEP_MOTOR * ***********************************************************************************************************************/ - kstep_motor_enable = CMDID(2, 1), // para:{1}, ack:{} - kstep_motor_read_pos = CMDID(2, 11), // para:{}, ack:{4} - kstep_motor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{} - kstep_motor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{} - kstep_motor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{} - kstep_motor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{} - kstep_motor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{} - kstep_motor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{} - kstep_motor_stop = CMDID(2, 40), // para:{4}, ack:{} - kstep_motor_active_cfg = CMDID(2, 41), // para:{4}, ack:{} - kstep_motor_read_io_state = CMDID(2, 42), // para:{4}, ack:{} - kstep_motor_easy_move_to_end_point = CMDID(2, 44), // - kstep_motor_easy_reciprocating_motion = CMDID(2, 45), //(int32_t startpos, int32_t endpos, int32_t times) = 0; + kstep_motor_enable = CMDID(2, 1), // para:{1}, ack:{} + kstep_motor_read_pos = CMDID(2, 11), // para:{}, ack:{4} + kstep_motor_easy_rotate = CMDID(2, 17), // para:{4}, ack:{} + kstep_motor_easy_move_by = CMDID(2, 18), // para:{4}, ack:{} + kstep_motor_easy_move_to = CMDID(2, 19), // para:{4}, ack:{} + kstep_motor_easy_move_to_zero = CMDID(2, 20), // para:{1}, ack:{} + kstep_motor_easy_set_current_pos = CMDID(2, 21), // para:{4}, ack:{} + kstep_motor_easy_move_to_io = CMDID(2, 22), // para:{4,4}, ack:{} + kstep_motor_stop = CMDID(2, 40), // para:{4}, ack:{} + kstep_motor_active_cfg = CMDID(2, 41), // para:{4}, ack:{} + kstep_motor_read_io_state = CMDID(2, 42), // para:{4}, ack:{} + kstep_motor_easy_move_to_end_point = CMDID(2, 44), // + kstep_motor_easy_reciprocating_motion = CMDID(2, 45), //(int32_t startpos, int32_t endpos, int32_t times) = 0; + kstep_motor_easy_move_to_zero_point_quick = CMDID(2, 46), //(int32_t startpos, int32_t endpos, int32_t times) = 0; kstep_motor_read_tmc5130_status = CMDID(2, 50), // kstep_motor_read_tmc5130_state = CMDID(2, 51), // 调试使用 diff --git a/api/apibasic/reg_index.cpp b/api/apibasic/reg_index.cpp index 113d774..81a046d 100644 --- a/api/apibasic/reg_index.cpp +++ b/api/apibasic/reg_index.cpp @@ -146,6 +146,7 @@ static reginfo_t table[] = { REG_ITERM(kreg_step_motor_enc_resolution), REG_ITERM(kreg_step_motor_enable_enc), REG_ITERM(kreg_step_motor_dzero_pos), + REG_ITERM(kret_step_motor_pos_devi_tolerance), REG_ITERM(kreg_mini_servo_pos), REG_ITERM(kreg_mini_servo_limit_velocity), diff --git a/api/apibasic/reg_index.hpp b/api/apibasic/reg_index.hpp index a09453b..788f59e 100644 --- a/api/apibasic/reg_index.hpp +++ b/api/apibasic/reg_index.hpp @@ -144,6 +144,7 @@ typedef enum { kreg_step_motor_enc_resolution = 10189, // 编码器分辨率 1000,1024,4000,4096,16384 kreg_step_motor_enable_enc = 10190, // kreg_step_motor_dzero_pos = 10191, // 驱动器处于调试模式 + kret_step_motor_pos_devi_tolerance = 10192, // 位置偏差容忍度 /*********************************************************************************************************************** * step_motor * diff --git a/api/zi_motor.hpp b/api/zi_motor.hpp index 8dad2fd..3eaa615 100644 --- a/api/zi_motor.hpp +++ b/api/zi_motor.hpp @@ -139,6 +139,8 @@ class ZIStepMotor { virtual int32_t step_motor_read_io_state(int32_t ioindex, int32_t* state) = 0; virtual int32_t step_motor_easy_move_to_end_point() = 0; + virtual int32_t step_motor_easy_move_to_zero_point_quick() = 0; + virtual int32_t step_motor_easy_reciprocating_motion(int32_t startpos, int32_t endpos, int32_t times) = 0; /***********************************************************************************************************************