Browse Source

add: 电机索引 舵机索引

master
HSZ_HeSongZhen 3 months ago
parent
commit
992efbc43a
  1. 18
      src/main/java/com/iflytop/gd/hardware/drivers/StepMotorDriver/StepMotorCtrlDriver.java
  2. 1
      src/main/java/com/iflytop/gd/hardware/drivers/StepMotorDriver/StepMotorMId.java
  3. 57
      src/main/java/com/iflytop/gd/hardware/drivers/StepMotorDriver/StepMotorRegIndex.java
  4. 2
      src/main/java/com/iflytop/gd/hardware/type/RegIndex.java

18
src/main/java/com/iflytop/gd/hardware/drivers/StepMotorDriver/StepMotorCtrlDriver.java

@ -164,17 +164,17 @@ public class StepMotorCtrlDriver {
}
// public Boolean isHasMoveToZero(StepMotorMId id) throws HardwareException {
// return getReg(id, StepMotorRegIndex.kreg_step_motor_has_move_zero) != 0;
// }
public Boolean isHasMoveToZero(StepMotorMId id) throws HardwareException {
return getReg(id, StepMotorRegIndex.kreg_step_motor_has_move_zero) != 0;
}
// public void setReg(StepMotorMId id, StepMotorRegIndex regIndex, Integer val) throws HardwareException {
// canBus.moduleSetReg(id.mid, regIndex.regIndex, val);
// }
public void setReg(StepMotorMId id, StepMotorRegIndex regIndex, Integer val) throws HardwareException {
canBus.moduleSetReg(id.mid, regIndex.regIndex, val);
}
// public Integer getReg(StepMotorMId id, StepMotorRegIndex regIndex) throws HardwareException {
// return canBus.moduleGetReg(id.mid, regIndex.regIndex);
// }
public Integer getReg(StepMotorMId id, StepMotorRegIndex regIndex) throws HardwareException {
return canBus.moduleGetReg(id.mid, regIndex.regIndex);
}
public void resetRegs(StepMotorMId id) throws HardwareException {
canBus.callcmd(id.mid, CmdId.module_reset_reg);

1
src/main/java/com/iflytop/gd/hardware/drivers/StepMotorDriver/StepMotorMId.java

@ -30,7 +30,6 @@ public enum StepMotorMId {
final public MId mid;
StepMotorMId(MId mid) {
// Assert.isTrue(this.name().equals(mid.name()),"StepMotorMId init fail");
this.mid = mid;
}
}

57
src/main/java/com/iflytop/gd/hardware/drivers/StepMotorDriver/StepMotorRegIndex.java

@ -0,0 +1,57 @@
package com.iflytop.gd.hardware.drivers.StepMotorDriver;
import com.iflytop.gd.hardware.type.RegIndex;
public enum StepMotorRegIndex {
// kreg_module_version(RegIndex.kreg_module_version), // 模块版本
// kreg_module_type(RegIndex.kreg_module_type), // 模块类型
// kreg_module_status(RegIndex.kreg_module_status), // 0idle,1busy,2error
// kreg_module_errorcode(RegIndex.kreg_module_errorcode), // inited_flag
/***********************************************************************************************************************
* step_motor *
***********************************************************************************************************************/
kreg_step_motor_pos(RegIndex.kreg_step_motor_pos), // 机器人x坐标
kreg_step_motor_is_enable(RegIndex.kreg_step_motor_is_enable), // 是否使能
kreg_step_motor_dpos(RegIndex.kreg_step_motor_dpos), // 执行完上一条指令后的相对位移
kreg_step_motor_has_move_zero(RegIndex.kreg_step_motor_has_move_zero), // 是否已经移动到零点
// kreg_step_motor_shift(RegIndex.kreg_step_motor_shift), // x偏移
kreg_step_motor_shaft(RegIndex.kreg_step_motor_shaft), // x轴是否反转
kreg_step_motor_one_circle_pulse(RegIndex.kreg_step_motor_one_circle_pulse), // x轴一圈脉冲数
kreg_step_motor_one_circle_pulse_denominator(RegIndex.kreg_step_motor_one_circle_pulse_denominator), // 设置一圈脉冲数的分母
kreg_step_motor_default_velocity(RegIndex.kreg_step_motor_default_velocity), // 默认速度
kreg_step_motor_low_velocity(RegIndex.kreg_step_motor_low_velocity),
kreg_step_motor_mid_velocity(RegIndex.kreg_step_motor_mid_velocity),
kreg_step_motor_high_velocity(RegIndex.kreg_step_motor_high_velocity),
kreg_step_motor_ihold(RegIndex.kreg_step_motor_ihold), // 步进电机电流配置
kreg_step_motor_irun(RegIndex.kreg_step_motor_irun), // 步进电机电流配置
kreg_step_motor_iholddelay(RegIndex.kreg_step_motor_iholddelay), // 步进电机电流配置
kreg_step_motor_iglobalscaler(RegIndex.kreg_step_motor_iglobalscaler), // 步进电机电流配置
kreg_step_motor_mres(RegIndex.kreg_step_motor_mres), // 步进电机电流配置
kreg_step_motor_run_to_zero_speed(RegIndex.kreg_step_motor_run_to_zero_speed), // 回零速度
kreg_step_motor_look_zero_edge_speed(RegIndex.kreg_step_motor_look_zero_edge_speed), // 找零边缘速度
kreg_step_motor_max_d(RegIndex.kreg_step_motor_max_d), // 最大限制距离
kreg_step_motor_min_d(RegIndex.kreg_step_motor_min_d), // 最小限制距离
kreg_step_motor_in_debug_mode(RegIndex.kreg_step_motor_in_debug_mode), // 驱动器处于调试模式
kreg_step_motor_vstart(RegIndex.kreg_step_motor_vstart), // a1起作用的速度
kreg_step_motor_a1(RegIndex.kreg_step_motor_a1), //
kreg_step_motor_amax(RegIndex.kreg_step_motor_amax), //
kreg_step_motor_v1(RegIndex.kreg_step_motor_v1), //
kreg_step_motor_dmax(RegIndex.kreg_step_motor_dmax), //
kreg_step_motor_d1(RegIndex.kreg_step_motor_d1), //
kreg_step_motor_vstop(RegIndex.kreg_step_motor_vstop), //
kreg_step_motor_tzerowait(RegIndex.kreg_step_motor_tzerowait), //
kreg_step_motor_enc_resolution(RegIndex.kreg_step_motor_enc_resolution), // 编码器分辨率 1000,1024,4000,4096,16384
kreg_step_motor_enable_enc(RegIndex.kreg_step_motor_enable_enc), //
kreg_step_motor_dzero_pos(RegIndex.kreg_step_motor_dzero_pos), // 驱动器处于调试模式
kret_step_motor_pos_devi_tolerance(RegIndex.kret_step_motor_pos_devi_tolerance), // 位置偏差容忍度
kret_step_motor_io_trigger_append_distance(RegIndex.kret_step_motor_io_trigger_append_distance), // 移动到io时附加的距离
;
public final RegIndex regIndex;
StepMotorRegIndex(RegIndex regIndex) {
this.regIndex = regIndex;
}
}

2
src/main/java/com/iflytop/gd/hardware/type/RegIndex.java

@ -54,7 +54,7 @@ public enum RegIndex {
/***********************************************************************************************************************
* step_motor *
* servo *
***********************************************************************************************************************/
kreg_mini_servo_pos(10201), // 位置

Loading…
Cancel
Save