Browse Source

feat:增加指令枚举

master
白凤吉 3 months ago
parent
commit
9d74b4e43e
  1. 6
      src/main/java/com/iflytop/gd/common/cmd/DeviceCommand.java
  2. 17
      src/main/java/com/iflytop/gd/common/cmd/DeviceCommandParams.java
  3. 5
      src/main/java/com/iflytop/gd/common/enums/cmd/CmdAction.java
  4. 5
      src/main/java/com/iflytop/gd/common/enums/cmd/CmdAxis.java
  5. 5
      src/main/java/com/iflytop/gd/common/enums/cmd/CmdDirection.java
  6. 16
      src/main/java/com/iflytop/gd/hardware/command/command/handler/FanHandler.java
  7. 2
      src/main/java/com/iflytop/gd/hardware/service/HardwareService.java

6
src/main/java/com/iflytop/gd/common/cmd/DeviceCommand.java

@ -1,5 +1,6 @@
package com.iflytop.gd.common.cmd;
import com.iflytop.gd.common.enums.cmd.CmdAction;
import lombok.Data;
import java.util.Map;
@ -29,10 +30,11 @@ public class DeviceCommand {
/**
* 执行动作
*/
private String action;
private CmdAction action;
/**
* 指令参数
*/
private Map<String, Object> param;
private DeviceCommandParams param;
}

17
src/main/java/com/iflytop/gd/common/cmd/DeviceCommandParams.java

@ -0,0 +1,17 @@
package com.iflytop.gd.common.cmd;
import com.iflytop.gd.common.enums.cmd.CmdAxis;
import com.iflytop.gd.common.enums.cmd.CmdDirection;
import lombok.Data;
@Data
public class DeviceCommandParams {
private String device;
private Double current;
private CmdDirection direction;
private Double position;
private Double speed;
private Double angle;
private CmdAxis axis;
}

5
src/main/java/com/iflytop/gd/common/enums/cmd/CmdAction.java

@ -0,0 +1,5 @@
package com.iflytop.gd.common.enums.cmd;
public enum CmdAction {
open, close, stop, start, origin, move, move_joint, set
}

5
src/main/java/com/iflytop/gd/common/enums/cmd/CmdAxis.java

@ -0,0 +1,5 @@
package com.iflytop.gd.common.enums.cmd;
public enum CmdAxis {
joint1,joint2
}

5
src/main/java/com/iflytop/gd/common/enums/cmd/CmdDirection.java

@ -0,0 +1,5 @@
package com.iflytop.gd.common.enums.cmd;
public enum CmdDirection {
forward, backward
}

16
src/main/java/com/iflytop/gd/hardware/command/command_handler/FanHandler.java → src/main/java/com/iflytop/gd/hardware/command/command/handler/FanHandler.java

@ -1,6 +1,8 @@
package com.iflytop.gd.hardware.command.command_handler;
package com.iflytop.gd.hardware.command.command.handler;
import com.iflytop.gd.common.cmd.DeviceCommand;
import com.iflytop.gd.common.enums.cmd.CmdAction;
import com.iflytop.gd.common.enums.cmd.CmdDirection;
import com.iflytop.gd.hardware.command.CommandHandler;
public class FanHandler extends CommandHandler {
@ -14,28 +16,28 @@ public class FanHandler extends CommandHandler {
@Override
public boolean sendCommand(DeviceCommand command) {
// 校验动作
checkAction(command.getAction());
// checkAction(command.getAction());
// 发送命令
if (command.getAction().equals("open")) {
if (command.getAction() == CmdAction.open) {
// 校验参数
checkParams(command.getParams());
// checkParams(command.getParams());
// get 参数值
String speed = command.getParams().get("speed");
Double speed = command.getParam().getSpeed();
// 打开风扇
String direction = command.getParams().get("direction");
CmdDirection direction = command.getParam().getDirection();
// 组包
// 发送命令
HardwareService.sendPacket();
return true;
}
else if (command.getAction().equals("close")) {
else if (command.getAction() == CmdAction.close) {
// 关闭风扇
return true;
}

2
src/main/java/com/iflytop/gd/hardware/service/HardwareService.java

@ -5,7 +5,7 @@ import com.iflytop.gd.common.cmd.DeviceCommand;
import com.iflytop.gd.hardware.command.CommandHandler;
import com.iflytop.gd.hardware.command.SupportDevice.CmdDevice;
import com.iflytop.gd.hardware.command.SupportMethod;
import com.iflytop.gd.hardware.command.command_handler.FanHandler;
import com.iflytop.gd.hardware.command.command.handler.FanHandler;
import java.security.InvalidParameterException;
import java.util.HashMap;

Loading…
Cancel
Save