diff --git a/src/main/java/a8k/app/config/A8kSubModuleInitRegConfig.java b/src/main/java/a8k/app/config/A8kSubModuleInitRegConfig.java index c8ba9f4..738ad77 100644 --- a/src/main/java/a8k/app/config/A8kSubModuleInitRegConfig.java +++ b/src/main/java/a8k/app/config/A8kSubModuleInitRegConfig.java @@ -170,7 +170,6 @@ public class A8kSubModuleInitRegConfig { addRegMarker(ModuleType.A8kOptical, RegIndex.kreg_a8k_opt_scan_vstop); addRegMarker(ModuleType.A8kOptical, RegIndex.kreg_a8k_opt_scan_tzerowait); - addRegMarker(ModuleType.MiniServo, RegIndex.kreg_mini_servo_pos); addRegMarker(ModuleType.MiniServo, RegIndex.kreg_mini_servo_limit_velocity); addRegMarker(ModuleType.MiniServo, RegIndex.kreg_mini_servo_limit_torque); addRegMarker(ModuleType.MiniServo, RegIndex.kreg_mini_servo_protective_torque); diff --git a/src/main/java/a8k/app/hardware/channel/A8kCanBusService.java b/src/main/java/a8k/app/hardware/channel/A8kCanBusService.java index 92a390d..ef03de1 100644 --- a/src/main/java/a8k/app/hardware/channel/A8kCanBusService.java +++ b/src/main/java/a8k/app/hardware/channel/A8kCanBusService.java @@ -80,22 +80,17 @@ public class A8kCanBusService { return A8kEcode.fromInt(packet.getContentI32(0)); } - public Integer moduleGetDetailError(MId id) { - Integer regval = 0; - try { - regval = moduleGetReg(id, RegIndex.kreg_module_detail_errorcode); - } catch (AppException ignored) { - } - return regval; + public Integer moduleGetDetailError(MId id) throws AppException { + return connection.callcmd(id, CmdId.module_get_detail_error).getContentI32(0) ; } public Integer moduleReadVersion(MId id) throws AppException { - return moduleGetReg(id, RegIndex.kreg_module_version); + return connection.callcmd(id, CmdId.module_get_version).getContentI32(0); } public ModuleType moduleReadType(MId id) throws AppException { - var type = moduleGetReg(id, RegIndex.kreg_module_type); - return ModuleType.of(type); + var packet = connection.callcmd(id, CmdId.module_get_type); + return ModuleType.of(packet.getContentI32(0)); } public byte[] a8kIdcardReaderReadRaw() throws AppException { diff --git a/src/main/java/a8k/app/hardware/type/CmdId.java b/src/main/java/a8k/app/hardware/type/CmdId.java index c3d69d2..5b8ad18 100644 --- a/src/main/java/a8k/app/hardware/type/CmdId.java +++ b/src/main/java/a8k/app/hardware/type/CmdId.java @@ -6,15 +6,24 @@ public enum CmdId { board_reset(0x0000, "复位板子"),// event_bus_reg_change_report(0x0064, "寄存器修改事件"),// // - module_ping(0x0100, "MODULE_PING"),// - module_get_status(0x0104, "读取模块状态"),// - module_stop(0x0101, "模块停止"),// - module_set_reg(0x0105, "写入寄存器"),// - module_get_reg(0x0106, "获取寄存器"),// - module_reset_reg(0x0107, "复位寄存器"),// - module_get_error(0x010a, "读取模块错误"),// - module_clear_error(0x010b, "清除模块错误"),// - module_active_cfg(0x0110, "激活配置"),// + + module_ping(0x0101, "MODULE_PING"), + module_stop(0x0102, "MODULE_STOP"), + + module_get_error(0x0110, "MODULE_GET_ERROR"), + module_get_detail_error(0x0111, "MODULE_GET_DETAIL_ERROR"), + module_clear_error(0x0112, "MODULE_CLEAR_ERROR"), + + module_set_reg(0x0120, "MODULE_SET_REG"), + module_get_reg(0x0121, "MODULE_GET_REG"), + module_reset_reg(0x0123, "MODULE_RESET_REG"), + + module_get_version(0x0130, "MODULE_GET_VERSION"), + module_get_type(0x0131, "MODULE_GET_TYPE"), + module_get_status(0x0132, "MODULE_GET_STATUS"), + + + // module_active_cfg(0x0110, "激活配置"),// // xymotor_enable(0x0301, "XYMOTOR_ENABLE"),// xymotor_move_by(0x0302, "XYMOTOR_MOVE_BY"),// diff --git a/src/main/java/a8k/app/hardware/type/HbotRegIndex.java b/src/main/java/a8k/app/hardware/type/HbotRegIndex.java index 30d5c48..93cdec0 100644 --- a/src/main/java/a8k/app/hardware/type/HbotRegIndex.java +++ b/src/main/java/a8k/app/hardware/type/HbotRegIndex.java @@ -1,10 +1,10 @@ package a8k.app.hardware.type; public enum HbotRegIndex { - 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 +// 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 kreg_xyrobot_io_state(RegIndex.kreg_xyrobot_io_state), // kreg_xyrobot_is_enable(RegIndex.kreg_xyrobot_is_enable), // diff --git a/src/main/java/a8k/app/hardware/type/MiniServoRegIndex.java b/src/main/java/a8k/app/hardware/type/MiniServoRegIndex.java index c961163..a606740 100644 --- a/src/main/java/a8k/app/hardware/type/MiniServoRegIndex.java +++ b/src/main/java/a8k/app/hardware/type/MiniServoRegIndex.java @@ -1,10 +1,10 @@ package a8k.app.hardware.type; public enum MiniServoRegIndex { - 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 +// 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 kreg_mini_servo_pos(RegIndex.kreg_mini_servo_pos), // 位置 kreg_mini_servo_limit_velocity(RegIndex.kreg_mini_servo_limit_velocity), // 限制速度 diff --git a/src/main/java/a8k/app/hardware/type/PipetteRegIndex.java b/src/main/java/a8k/app/hardware/type/PipetteRegIndex.java index bb6174d..99415e7 100644 --- a/src/main/java/a8k/app/hardware/type/PipetteRegIndex.java +++ b/src/main/java/a8k/app/hardware/type/PipetteRegIndex.java @@ -3,10 +3,10 @@ package a8k.app.hardware.type; import org.springframework.util.Assert; public enum PipetteRegIndex { - 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 +// 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 kreg_pipette_pos_nl(RegIndex.kreg_pipette_pos_nl), // 移液枪位置 kreg_pipette_capactitance_val(RegIndex.kreg_pipette_capactitance_val), // 移液枪电容值 diff --git a/src/main/java/a8k/app/hardware/type/RegIndex.java b/src/main/java/a8k/app/hardware/type/RegIndex.java index b220325..f6b25f1 100644 --- a/src/main/java/a8k/app/hardware/type/RegIndex.java +++ b/src/main/java/a8k/app/hardware/type/RegIndex.java @@ -5,12 +5,12 @@ public enum RegIndex { /******************************************************************************* * 模块通用配置和状态 * *******************************************************************************/ - kreg_module_version(0), // 模块版本 - kreg_module_type(1), // 模块类型 - kreg_module_status(2), // 0idle,1busy,2error - kreg_module_errorcode(3), // inited_flag - kreg_module_detail_errorcode(4), // 详细的错误信息,该位置的定义根据module_errorcode的不同,而不同 - kreg_extboard_resetflag(100), + // kreg_module_version(0), // 模块版本 + // kreg_module_type(1), // 模块类型 + // kreg_module_status(2), // 0idle,1busy,2error + // kreg_module_errorcode(3), // inited_flag + // kreg_module_detail_errorcode(4), // 详细的错误信息,该位置的定义根据module_errorcode的不同,而不同 + // kreg_extboard_resetflag(100), /*********************************************************************************************************************** diff --git a/src/main/java/a8k/app/hardware/type/StepMotorRegIndex.java b/src/main/java/a8k/app/hardware/type/StepMotorRegIndex.java index 7ed3d98..9303832 100644 --- a/src/main/java/a8k/app/hardware/type/StepMotorRegIndex.java +++ b/src/main/java/a8k/app/hardware/type/StepMotorRegIndex.java @@ -1,10 +1,10 @@ package a8k.app.hardware.type; 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 +// 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 * ***********************************************************************************************************************/