From 1e05524db41160c74c695a58ffdf1aaf98127a76 Mon Sep 17 00:00:00 2001 From: HSZ_HeSongZhen <210202959@qq.com> Date: Tue, 6 May 2025 11:21:09 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E6=96=B0=E5=A2=9EMID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iflytop/gd/hardware/controller/IOController.java | 5 +++++ .../iflytop/gd/hardware/controller/StepMotorController.java | 12 ++++++++++++ .../gd/hardware/drivers/MiniServoDriver/MiniServoMId.java | 4 ++-- src/main/java/com/iflytop/gd/hardware/service/IOService.java | 5 +++++ .../com/iflytop/gd/hardware/service/StepMotorService.java | 8 ++++++++ src/main/java/com/iflytop/gd/hardware/type/MId.java | 2 ++ src/main/resources/application-dev.yml | 2 +- 7 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/iflytop/gd/hardware/controller/IOController.java create mode 100644 src/main/java/com/iflytop/gd/hardware/service/IOService.java diff --git a/src/main/java/com/iflytop/gd/hardware/controller/IOController.java b/src/main/java/com/iflytop/gd/hardware/controller/IOController.java new file mode 100644 index 0000000..340cab4 --- /dev/null +++ b/src/main/java/com/iflytop/gd/hardware/controller/IOController.java @@ -0,0 +1,5 @@ +package com.iflytop.gd.hardware.controller; + +// TODO: +public class IOController { +} diff --git a/src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java b/src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java index fa79185..97da20d 100644 --- a/src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java +++ b/src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java @@ -248,4 +248,16 @@ public class StepMotorController { public Integer readEncPos(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { return stepMotorService.readEncPos(deviceId); } + + @PostMapping("/read-zero-sensor") + @Operation(summary = "读取零点光电") + public Boolean readZeroSensor(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + return stepMotorService.readIoState(deviceId, 0); + } + @PostMapping("/read-limit-sensor") + @Operation(summary = "读取限位光电") + public Boolean readLimitSensor(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + return stepMotorService.readIoState(deviceId, 1); + } + } diff --git a/src/main/java/com/iflytop/gd/hardware/drivers/MiniServoDriver/MiniServoMId.java b/src/main/java/com/iflytop/gd/hardware/drivers/MiniServoDriver/MiniServoMId.java index 34f5af1..a82f450 100644 --- a/src/main/java/com/iflytop/gd/hardware/drivers/MiniServoDriver/MiniServoMId.java +++ b/src/main/java/com/iflytop/gd/hardware/drivers/MiniServoDriver/MiniServoMId.java @@ -4,8 +4,8 @@ import com.iflytop.gd.hardware.type.MId; public enum MiniServoMId { NotSet(MId.NotSet),// - DUAL_ROBOT_AXIS1_MID(MId.DualRobotAxis1M),// - DUAL_ROBOT_AXIS2_MID(MId.DualRobotAxis2M), + DUAL_ROBOT_AXIS1_MID(MId.DualRobotAxis1S),// + DUAL_ROBOT_AXIS2_MID(MId.DualRobotAxis2S), CLAW_MID(MId.HBotClawS) ; diff --git a/src/main/java/com/iflytop/gd/hardware/service/IOService.java b/src/main/java/com/iflytop/gd/hardware/service/IOService.java new file mode 100644 index 0000000..1f43723 --- /dev/null +++ b/src/main/java/com/iflytop/gd/hardware/service/IOService.java @@ -0,0 +1,5 @@ +package com.iflytop.gd.hardware.service; + +// TODO: +public class IOService { +} diff --git a/src/main/java/com/iflytop/gd/hardware/service/StepMotorService.java b/src/main/java/com/iflytop/gd/hardware/service/StepMotorService.java index b3c0a4c..aaf724b 100644 --- a/src/main/java/com/iflytop/gd/hardware/service/StepMotorService.java +++ b/src/main/java/com/iflytop/gd/hardware/service/StepMotorService.java @@ -247,4 +247,12 @@ public class StepMotorService { } return stepMotorCtrlDriver_.getAllReg(stepId); } + + public Boolean readIoState(DeviceStepMotorId id, Integer ioindex) throws HardwareException { + StepMotorMId stepId = id.getStepMotorMId(); + if (stepId == null) { + throwDeviceNull(id); + } + return stepMotorCtrlDriver_.stepMotorReadIoState(stepId, ioindex); + } } diff --git a/src/main/java/com/iflytop/gd/hardware/type/MId.java b/src/main/java/com/iflytop/gd/hardware/type/MId.java index e580bf4..11853c2 100644 --- a/src/main/java/com/iflytop/gd/hardware/type/MId.java +++ b/src/main/java/com/iflytop/gd/hardware/type/MId.java @@ -6,6 +6,8 @@ public enum MId { PWMLight(11, "PWM 灯"), TriColorLight(12, "三色灯"), HBotClawS(13, "夹爪舵机"),// + DualRobotAxis1S(14, "双轴机械臂1舵机"), + DualRobotAxis2S(15, "双轴机械臂2舵机"), IO2Board(30, "台下 IO 板模块"), diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 014034c..e0a2e5d 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -36,6 +36,6 @@ command_bus: device.enableCanBus: true iflytophald: - ip: 192.168.1.140 + ip: 192.168.8.168 cmdch.port: 19004 datach.port: 19005 \ No newline at end of file