diff --git a/src/main/java/com/iflytop/gd/hardware/controller/IOController.java b/src/main/java/com/iflytop/gd/hardware/controller/IOController.java index ed61e2c..4e45502 100644 --- a/src/main/java/com/iflytop/gd/hardware/controller/IOController.java +++ b/src/main/java/com/iflytop/gd/hardware/controller/IOController.java @@ -1,5 +1,6 @@ package com.iflytop.gd.hardware.controller; +import com.iflytop.gd.common.result.Result; import com.iflytop.gd.hardware.drivers.DODriver.OutputIOCtrlDriver; import com.iflytop.gd.hardware.type.IO.OutputIOMId; import io.swagger.v3.oas.annotations.tags.Tag; @@ -19,12 +20,13 @@ public class IOController { private final OutputIOCtrlDriver driver; @PostMapping("/set-output") - public void setOutput(@RequestParam OutputIOMId index, @RequestParam boolean state) { + public Result setOutput(@RequestParam OutputIOMId index, @RequestParam boolean state) { log.info("Setting IO output at index: {} to state: {}", index, state); try { driver.setIOState(index, state); } catch (Exception e) { log.error("Failed to set IO output: {}", e.getMessage()); } + return Result.success(); } } diff --git a/src/main/java/com/iflytop/gd/hardware/controller/ServoController.java b/src/main/java/com/iflytop/gd/hardware/controller/ServoController.java index 755091c..8ca3d19 100644 --- a/src/main/java/com/iflytop/gd/hardware/controller/ServoController.java +++ b/src/main/java/com/iflytop/gd/hardware/controller/ServoController.java @@ -1,5 +1,6 @@ package com.iflytop.gd.hardware.controller; +import com.iflytop.gd.common.result.Result; import com.iflytop.gd.hardware.type.Servo.DeviceServoId; import com.iflytop.gd.hardware.type.Servo.MiniServoRegIndex; import com.iflytop.gd.hardware.exception.HardwareException; @@ -48,84 +49,96 @@ public class ServoController { // 基础操作 @PostMapping("/enable") @Operation(summary = "电源开启") - public void enable(@RequestParam DeviceServoId deviceId) throws HardwareException { + public Result enable(@RequestParam DeviceServoId deviceId) throws HardwareException { servoService.enable(deviceId, true); + return Result.success(); } @PostMapping("/disable") @Operation(summary = "电源关闭") - public void disable(@RequestParam DeviceServoId deviceId) throws HardwareException { + public Result disable(@RequestParam DeviceServoId deviceId) throws HardwareException { servoService.enable(deviceId, false); + return Result.success(); } @PostMapping("/stop") @Operation(summary = "停止") - public void stop(@RequestParam DeviceServoId deviceId) throws HardwareException { + public Result stop(@RequestParam DeviceServoId deviceId) throws HardwareException { servoService.stop(deviceId); + return Result.success(); } @PostMapping("/move-to") @Operation(summary = "移动(绝对)") - public void moveTo(@RequestParam DeviceServoId deviceId, @RequestParam Integer pos) throws HardwareException { + public Result moveTo(@RequestParam DeviceServoId deviceId, @RequestParam Integer pos) throws HardwareException { servoService.moveTo(deviceId, pos); + return Result.success(); } @PostMapping("/rotate-forward") @Operation(summary = "正转") - public void rotateForward(@RequestParam DeviceServoId deviceId) throws HardwareException { + public Result rotateForward(@RequestParam DeviceServoId deviceId) throws HardwareException { servoService.rotate(deviceId, 1); + return Result.success(); } @PostMapping("/rotate-backward") @Operation(summary = "反转") - public void rotateBackward(@RequestParam DeviceServoId deviceId) throws HardwareException { + public Result rotateBackward(@RequestParam DeviceServoId deviceId) throws HardwareException { servoService.rotate(deviceId, 0); + return Result.success(); } @PostMapping("/rotate-with-torque") @Operation(summary = "旋转(力矩)") - public void rotateWithTorque(@RequestParam DeviceServoId deviceId, @RequestParam Integer pos) throws HardwareException { + public Result rotateWithTorque(@RequestParam DeviceServoId deviceId, @RequestParam Integer pos) throws HardwareException { servoService.rotateWithTorque(deviceId, pos); + return Result.success(); } @PostMapping("/move-to-zero") @Operation(summary = "回Home") - public void moveToZero(@RequestParam DeviceServoId deviceId) throws HardwareException { + public Result moveToZero(@RequestParam DeviceServoId deviceId) throws HardwareException { servoService.moveToZero(deviceId); + return Result.success(); } // 寄存器操作 @PostMapping("/limit-velocity") @Operation(summary = "设置限速") - public void setLimitVelocity( + public Result setLimitVelocity( @RequestParam DeviceServoId deviceId, @RequestParam Integer val) throws HardwareException { servoService.setLimitVelocity(deviceId, val); + return Result.success(); } @PostMapping("/limit-torque") @Operation(summary = "设置限力矩") - public void setLimitTorque( + public Result setLimitTorque( @RequestParam DeviceServoId deviceId, @RequestParam Integer val) throws HardwareException { servoService.setLimitTorque(deviceId, val); + return Result.success(); } @PostMapping("/protective-torque") @Operation(summary = "设置保护力矩") - public void setProtectiveTorque( + public Result setProtectiveTorque( @RequestParam DeviceServoId deviceId, @RequestParam Integer val) throws HardwareException { servoService.setProtectiveTorque(deviceId, val); + return Result.success(); } @PostMapping("/reg") @Operation(summary = "设置寄存器") - public void setReg( + public Result setReg( @RequestParam DeviceServoId deviceId, @RequestParam MiniServoRegIndex reg, @RequestParam Integer val) throws HardwareException { servoService.setReg(deviceId, reg, val); + return Result.success(); } // 状态查询 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 7aefb01..f247849 100644 --- a/src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java +++ b/src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java @@ -1,5 +1,6 @@ package com.iflytop.gd.hardware.controller; +import com.iflytop.gd.common.result.Result; import com.iflytop.gd.hardware.exception.HardwareException; import com.iflytop.gd.hardware.service.StepMotorService; import com.iflytop.gd.hardware.type.StepMotor.DeviceStepMotorId; @@ -49,170 +50,192 @@ public class StepMotorController { // 基础设置 @PostMapping("/speed-level") @Operation(summary = "设置速度等级") - public void setStepMotorSpeedLevel(@RequestParam StepMotorSpeedLevel speedLevel) { + public Result setStepMotorSpeedLevel(@RequestParam StepMotorSpeedLevel speedLevel) { stepMotorService.setStepMotorSpeedLevel(speedLevel); + return Result.success(); } // 基础操作 @PostMapping("/enable") @Operation(summary = "电源开启") - public void enableMotor(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + public Result enableMotor(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { stepMotorService.enableMotor(deviceId); + return Result.success(); } @PostMapping("/disable") @Operation(summary = "电源关闭") - public void disableMotor(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + public Result disableMotor(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { stepMotorService.disableMotor(deviceId); + return Result.success(); } @PostMapping("/move-to-zero") @Operation(summary = "回Home") - public void stepMotorEasyMoveToZero(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + public Result stepMotorEasyMoveToZero(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { stepMotorService.stepMotorEasyMoveToZero(deviceId); + return Result.success(); } @PostMapping("/move-to-zero-quick") @Operation(summary = "快速回Home") - public void stepMotorEasyMoveToZeroPointQuickBlock(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + public Result stepMotorEasyMoveToZeroPointQuickBlock(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { stepMotorService.stepMotorEasyMoveToZeroPointQuickBlock(deviceId); + return Result.success(); } @PostMapping("/stop") @Operation(summary = "停止") - public void stepMotorStop(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + public Result stepMotorStop(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { stepMotorService.stepMotorStop(deviceId); + return Result.success(); } // 相对移动 @PostMapping("/move-by-forward") @Operation(summary = "正向点动") - public void stepMotorEasyMoveByForward( + public Result stepMotorEasyMoveByForward( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer dpos) throws HardwareException { stepMotorService.stepMotorEasyMoveByForward(deviceId, dpos); + return Result.success(); } @PostMapping("/move-by-backward") @Operation(summary = "反向点动") - public void stepMotorEasyMoveByBackward( + public Result stepMotorEasyMoveByBackward( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer dpos) throws HardwareException { stepMotorService.stepMotorEasyMoveByBackward(deviceId, dpos); + return Result.success(); } // 绝对移动 @PostMapping("/move-to") @Operation(summary = "移动(绝对)") - public void stepMotorEasyMoveTo( + public Result stepMotorEasyMoveTo( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer pos) throws HardwareException { stepMotorService.stepMotorEasyMoveTo(deviceId, pos); + return Result.success(); } // 旋转 @PostMapping("/rotate-forward") @Operation(summary = "正转") - public void rotateForward(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + public Result rotateForward(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { stepMotorService.rotateForward(deviceId); + return Result.success(); } @PostMapping("/rotate-backward") @Operation(summary = "反转") - public void rotateBackward(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { + public Result rotateBackward(@RequestParam DeviceStepMotorId deviceId) throws HardwareException { stepMotorService.rotateBackward(deviceId); + return Result.success(); } // 寄存器配置 @PostMapping("/mres") @Operation(summary = "设置细分") - public void setMres( + public Result setMres( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer mres) throws HardwareException { stepMotorService.setMres(deviceId, mres); + return Result.success(); } @PostMapping("/irun") @Operation(summary = "设置IRUN") - public void setIRUN( + public Result setIRUN( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer irun) throws HardwareException { stepMotorService.setIRUN(deviceId, irun); + return Result.success(); } @PostMapping("/ihold") @Operation(summary = "设置IHOLD") - public void setIHOLD( + public Result setIHOLD( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer ihold) throws HardwareException { stepMotorService.setIHOLD(deviceId, ihold); + return Result.success(); } @PostMapping("/start-stop-vel") @Operation(summary = "设置起停速度") - public void setStartAndStopVel( + public Result setStartAndStopVel( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer v) throws HardwareException { stepMotorService.setStartAndStopVel(deviceId, v); + return Result.success(); } @PostMapping("/v1") @Operation(summary = "设置V1") - public void setV1( + public Result setV1( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer v) throws HardwareException { stepMotorService.setV1(deviceId, v); + return Result.success(); } @PostMapping("/acceleration") @Operation(summary = "设置加速度") - public void setA1AndD1( + public Result setA1AndD1( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer acc) throws HardwareException { stepMotorService.setA1AndD1(deviceId, acc); + return Result.success(); } @PostMapping("/max-acceleration") @Operation(summary = "设置最大加速度") - public void setAmaxAndDmax( + public Result setAmaxAndDmax( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer acc) throws HardwareException { stepMotorService.setAmaxAndDmax(deviceId, acc); + return Result.success(); } @PostMapping("/default-velocity") @Operation(summary = "设置默认速度") - public void setDefaultVel( + public Result setDefaultVel( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer v) throws HardwareException { stepMotorService.setDefaultVel(deviceId, v); + return Result.success(); } @PostMapping("/speed") @Operation(summary = "设置速度") - public void setSpeed( + public Result setSpeed( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer low, @RequestParam Integer mid, @RequestParam Integer high) throws HardwareException { stepMotorService.setSpeed(deviceId, low, mid, high); + return Result.success(); } @PostMapping("/one-circle-pulse") @Operation(summary = "设置一圈脉冲数") - public void setOneCirclePulse( + public Result setOneCirclePulse( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer pulse, @RequestParam Integer denominator) throws HardwareException { stepMotorService.setOneCirclePulse(deviceId, pulse, denominator); + return Result.success(); } @PostMapping("/dzero") @Operation(summary = "设置DZero") - public void setDZero( + public Result setDZero( @RequestParam DeviceStepMotorId deviceId, @RequestParam Integer dzero) throws HardwareException { stepMotorService.setDZero(deviceId, dzero); + return Result.success(); } @GetMapping("/reg") @@ -225,11 +248,12 @@ public class StepMotorController { @PostMapping("/reg") @Operation(summary = "设置寄存器") - public void setReg( + public Result setReg( @RequestParam DeviceStepMotorId deviceId, @RequestParam StepMotorRegIndex reg, @RequestParam Integer val) throws HardwareException { stepMotorService.setReg(deviceId, reg, val); + return Result.success(); } // 状态查询