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 c2a2da6..d3c334e 100644 --- a/src/main/java/com/iflytop/gd/hardware/controller/ServoController.java +++ b/src/main/java/com/iflytop/gd/hardware/controller/ServoController.java @@ -2,6 +2,8 @@ package com.iflytop.gd.hardware.controller; import com.iflytop.gd.hardware.drivers.MiniServoDriver.DeviceServoId; import com.iflytop.gd.hardware.drivers.MiniServoDriver.MiniServoRegIndex; +import com.iflytop.gd.hardware.drivers.StepMotorDriver.DeviceStepMotorId; +import com.iflytop.gd.hardware.drivers.StepMotorDriver.StepMotorRegIndex; import com.iflytop.gd.hardware.exception.HardwareException; import com.iflytop.gd.hardware.service.ServoService; import io.swagger.v3.oas.annotations.Operation; @@ -10,6 +12,9 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.Map; @Tag(name = "伺服电机控制") @@ -20,6 +25,28 @@ import java.util.Map; public class ServoController { private final ServoService servoService; + // 获取设备列表 + @PostMapping("get-device-list") + @Operation(summary = "获取设备列表") + public Map getDeviceList() { + Map map = new HashMap<>(); + for(DeviceServoId id : DeviceServoId.values()) { + map.put(id.name(), id.getDescription()); + } + return map; + } + + // 获取寄存器列表 + @PostMapping("get-reg-list") + @Operation(summary = "获取寄存器列表") + public List getRegList() { + List list = new ArrayList<>(); + for(MiniServoRegIndex reg : MiniServoRegIndex.values()) { + list.add(reg.name()); + } + return list; + } + // 基础操作 @PostMapping("/enable") @Operation(summary = "电源开启") 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 e63120c..fa79185 100644 --- a/src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java +++ b/src/main/java/com/iflytop/gd/hardware/controller/StepMotorController.java @@ -9,6 +9,9 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.Map; @Tag(name = "步进电机控制") @@ -19,6 +22,28 @@ import java.util.Map; public class StepMotorController { private final StepMotorService stepMotorService; + // 获取设备列表 + @PostMapping("get-device-list") + @Operation(summary = "获取设备列表") + public Map getDeviceList() { + Map map = new HashMap<>(); + for(DeviceStepMotorId id : DeviceStepMotorId.values()) { + map.put(id.name(), id.getDescription()); + } + return map; + } + + // 获取寄存器列表 + @PostMapping("get-reg-list") + @Operation(summary = "获取寄存器列表") + public List getRegList() { + List list = new ArrayList<>(); + for(StepMotorRegIndex reg : StepMotorRegIndex.values()) { + list.add(reg.name()); + } + return list; + } + // 基础设置 @PostMapping("/speed-level") @Operation(summary = "设置速度等级")