Browse Source

fix:统一调试指令传递的模块id

master
白凤吉 3 months ago
parent
commit
92bc7ed5f0
  1. 18
      src/main/java/com/iflytop/gd/app/cmd/debug/FanStartCommandHandler.java
  2. 18
      src/main/java/com/iflytop/gd/app/cmd/debug/FanStopCommandHandler.java
  3. 18
      src/main/java/com/iflytop/gd/app/cmd/debug/HeaterStartCommandHandler.java
  4. 18
      src/main/java/com/iflytop/gd/app/cmd/debug/HeaterStopCommandHandler.java
  5. 40
      src/main/java/com/iflytop/gd/app/cmd/debug/LiquidPumpStartCommandHandler.java
  6. 22
      src/main/java/com/iflytop/gd/app/cmd/debug/LiquidPumpStopCommandHandler.java
  7. 35
      src/main/java/com/iflytop/gd/app/cmd/debug/PalletElevatorLiftDownCommandHandler.java
  8. 35
      src/main/java/com/iflytop/gd/app/cmd/debug/PalletElevatorLiftUpCommandHandler.java
  9. 18
      src/main/java/com/iflytop/gd/app/cmd/debug/PalletElevatorStopCommandHandler.java
  10. 18
      src/main/java/com/iflytop/gd/app/cmd/debug/TransportationArmMoveCommandHandler.java
  11. 20
      src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java
  12. 12
      src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java
  13. 2
      src/main/java/com/iflytop/gd/common/cmd/DeviceCommandGenerator.java
  14. 27
      src/main/java/com/iflytop/gd/common/enums/AcidPumpDevice.java
  15. 23
      src/main/java/com/iflytop/gd/common/enums/HeatModuleId.java
  16. 7
      src/main/java/com/iflytop/gd/common/enums/cmd/CmdAction.java

18
src/main/java/com/iflytop/gd/app/cmd/debug/FanStartCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.HeatModuleId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -26,15 +27,16 @@ public class FanStartCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
HeatModuleId heatModuleId = HeatModuleId.valueOf(index);
DeviceCommandBundle deviceCommand;
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.fan1Open();
case 2 -> deviceCommand = DeviceCommandGenerator.fan2Open();
case 3 -> deviceCommand = DeviceCommandGenerator.fan3Open();
case 4 -> deviceCommand = DeviceCommandGenerator.fan4Open();
case 5 -> deviceCommand = DeviceCommandGenerator.fan5Open();
case 6 -> deviceCommand = DeviceCommandGenerator.fan6Open();
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.fan1Open();
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.fan2Open();
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.fan3Open();
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.fan4Open();
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.fan5Open();
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.fan6Open();
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

18
src/main/java/com/iflytop/gd/app/cmd/debug/FanStopCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.HeatModuleId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -26,15 +27,16 @@ public class FanStopCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
HeatModuleId heatModuleId = HeatModuleId.valueOf(index);
DeviceCommandBundle deviceCommand;
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.fan1Close();
case 2 -> deviceCommand = DeviceCommandGenerator.fan2Close();
case 3 -> deviceCommand = DeviceCommandGenerator.fan3Close();
case 4 -> deviceCommand = DeviceCommandGenerator.fan4Close();
case 5 -> deviceCommand = DeviceCommandGenerator.fan5Close();
case 6 -> deviceCommand = DeviceCommandGenerator.fan6Close();
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.fan1Close();
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.fan2Close();
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.fan3Close();
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.fan4Close();
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.fan5Close();
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.fan6Close();
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

18
src/main/java/com/iflytop/gd/app/cmd/debug/HeaterStartCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.HeatModuleId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -26,16 +27,17 @@ public class HeaterStartCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
Double temperature = cmdDTO.getDoubleParam("temperature");
HeatModuleId heatModuleId = HeatModuleId.valueOf(index);
DeviceCommandBundle deviceCommand;
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.heatRod1Open(temperature);
case 2 -> deviceCommand = DeviceCommandGenerator.heatRod2Open(temperature);
case 3 -> deviceCommand = DeviceCommandGenerator.heatRod3Open(temperature);
case 4 -> deviceCommand = DeviceCommandGenerator.heatRod4Open(temperature);
case 5 -> deviceCommand = DeviceCommandGenerator.heatRod5Open(temperature);
case 6 -> deviceCommand = DeviceCommandGenerator.heatRod6Open(temperature);
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.heatRod1Open(temperature);
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.heatRod2Open(temperature);
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.heatRod3Open(temperature);
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.heatRod4Open(temperature);
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.heatRod5Open(temperature);
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.heatRod6Open(temperature);
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

18
src/main/java/com/iflytop/gd/app/cmd/debug/HeaterStopCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.HeatModuleId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -26,15 +27,16 @@ public class HeaterStopCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
HeatModuleId heatModuleId = HeatModuleId.valueOf(index);
DeviceCommandBundle deviceCommand;
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.heatRod1Close();
case 2 -> deviceCommand = DeviceCommandGenerator.heatRod2Close();
case 3 -> deviceCommand = DeviceCommandGenerator.heatRod3Close();
case 4 -> deviceCommand = DeviceCommandGenerator.heatRod4Close();
case 5 -> deviceCommand = DeviceCommandGenerator.heatRod5Close();
case 6 -> deviceCommand = DeviceCommandGenerator.heatRod6Close();
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.heatRod1Close();
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.heatRod2Close();
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.heatRod3Close();
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.heatRod4Close();
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.heatRod5Close();
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.heatRod6Close();
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

40
src/main/java/com/iflytop/gd/app/cmd/debug/LiquidPumpStartCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.AcidPumpDevice;
import com.iflytop.gd.common.enums.cmd.CmdDirection;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -27,22 +28,23 @@ public class LiquidPumpStartCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
String direction = cmdDTO.getStringParam("direction");
Double volume = cmdDTO.getDoubleParam("volume");
Double velocity = cmdDTO.getDoubleParam("velocity");
CmdDirection directionEnum = CmdDirection.valueOf(direction);
AcidPumpDevice acidPumpDevice = AcidPumpDevice.valueOf(index);
DeviceCommandBundle deviceCommand;
if(velocity != null) {
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.acidPump1Set(velocity);
case 2 -> deviceCommand = DeviceCommandGenerator.acidPump2Set(velocity);
case 3 -> deviceCommand = DeviceCommandGenerator.acidPump3Set(velocity);
case 4 -> deviceCommand = DeviceCommandGenerator.acidPump4Set(velocity);
case 5 -> deviceCommand = DeviceCommandGenerator.acidPump5Set(velocity);
case 6 -> deviceCommand = DeviceCommandGenerator.acidPump6Set(velocity);
case 7 -> deviceCommand = DeviceCommandGenerator.acidPump7Set(velocity);
case 8 -> deviceCommand = DeviceCommandGenerator.acidPump8Set(velocity);
switch (acidPumpDevice) {
case acid_pump_01 -> deviceCommand = DeviceCommandGenerator.acidPump1Set(velocity);
case acid_pump_02 -> deviceCommand = DeviceCommandGenerator.acidPump2Set(velocity);
case acid_pump_03 -> deviceCommand = DeviceCommandGenerator.acidPump3Set(velocity);
case acid_pump_04 -> deviceCommand = DeviceCommandGenerator.acidPump4Set(velocity);
case acid_pump_05 -> deviceCommand = DeviceCommandGenerator.acidPump5Set(velocity);
case acid_pump_06 -> deviceCommand = DeviceCommandGenerator.acidPump6Set(velocity);
case acid_pump_07 -> deviceCommand = DeviceCommandGenerator.acidPump7Set(velocity);
case acid_pump_08 -> deviceCommand = DeviceCommandGenerator.acidPump8Set(velocity);
default -> throw new RuntimeException("index 未找到");
}
@ -50,15 +52,15 @@ public class LiquidPumpStartCommandHandler extends BaseCommandHandler {
commandWait(deviceCommandFuture);
}
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.acidPump1Move(directionEnum, volume);
case 2 -> deviceCommand = DeviceCommandGenerator.acidPump2Move(directionEnum, volume);
case 3 -> deviceCommand = DeviceCommandGenerator.acidPump3Move(directionEnum, volume);
case 4 -> deviceCommand = DeviceCommandGenerator.acidPump4Move(directionEnum, volume);
case 5 -> deviceCommand = DeviceCommandGenerator.acidPump5Move(directionEnum, volume);
case 6 -> deviceCommand = DeviceCommandGenerator.acidPump6Move(directionEnum, volume);
case 7 -> deviceCommand = DeviceCommandGenerator.acidPump7Move(directionEnum, volume);
case 8 -> deviceCommand = DeviceCommandGenerator.acidPump8Move(directionEnum, volume);
switch (acidPumpDevice) {
case acid_pump_01 -> deviceCommand = DeviceCommandGenerator.acidPump1Move(directionEnum, volume);
case acid_pump_02 -> deviceCommand = DeviceCommandGenerator.acidPump2Move(directionEnum, volume);
case acid_pump_03 -> deviceCommand = DeviceCommandGenerator.acidPump3Move(directionEnum, volume);
case acid_pump_04 -> deviceCommand = DeviceCommandGenerator.acidPump4Move(directionEnum, volume);
case acid_pump_05 -> deviceCommand = DeviceCommandGenerator.acidPump5Move(directionEnum, volume);
case acid_pump_06 -> deviceCommand = DeviceCommandGenerator.acidPump6Move(directionEnum, volume);
case acid_pump_07 -> deviceCommand = DeviceCommandGenerator.acidPump7Move(directionEnum, volume);
case acid_pump_08 -> deviceCommand = DeviceCommandGenerator.acidPump8Move(directionEnum, volume);
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

22
src/main/java/com/iflytop/gd/app/cmd/debug/LiquidPumpStopCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.AcidPumpDevice;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -26,17 +27,18 @@ public class LiquidPumpStopCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
AcidPumpDevice acidPumpDevice = AcidPumpDevice.valueOf(index);
DeviceCommandBundle deviceCommand;
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.acidPump1Stop();
case 2 -> deviceCommand = DeviceCommandGenerator.acidPump2Stop();
case 3 -> deviceCommand = DeviceCommandGenerator.acidPump3Stop();
case 4 -> deviceCommand = DeviceCommandGenerator.acidPump4Stop();
case 5 -> deviceCommand = DeviceCommandGenerator.acidPump5Stop();
case 6 -> deviceCommand = DeviceCommandGenerator.acidPump6Stop();
case 7 -> deviceCommand = DeviceCommandGenerator.acidPump7Stop();
case 8 -> deviceCommand = DeviceCommandGenerator.acidPump8Stop();
switch (acidPumpDevice) {
case acid_pump_01 -> deviceCommand = DeviceCommandGenerator.acidPump1Stop();
case acid_pump_02 -> deviceCommand = DeviceCommandGenerator.acidPump2Stop();
case acid_pump_03 -> deviceCommand = DeviceCommandGenerator.acidPump3Stop();
case acid_pump_04 -> deviceCommand = DeviceCommandGenerator.acidPump4Stop();
case acid_pump_05 -> deviceCommand = DeviceCommandGenerator.acidPump5Stop();
case acid_pump_06 -> deviceCommand = DeviceCommandGenerator.acidPump6Stop();
case acid_pump_07 -> deviceCommand = DeviceCommandGenerator.acidPump7Stop();
case acid_pump_08 -> deviceCommand = DeviceCommandGenerator.acidPump8Stop();
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

35
src/main/java/com/iflytop/gd/app/cmd/debug/PalletElevatorLiftDownCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.HeatModuleId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -27,32 +28,32 @@ public class PalletElevatorLiftDownCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
Double distance = cmdDTO.getDoubleParam("distance");
Double velocity = cmdDTO.getDoubleParam("velocity");
DeviceCommandBundle deviceCommand;
if(velocity != null) {
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.heaterMotor1Set(distance);
case 2 -> deviceCommand = DeviceCommandGenerator.heaterMotor2Set(distance);
case 3 -> deviceCommand = DeviceCommandGenerator.heaterMotor3Set(distance);
case 4 -> deviceCommand = DeviceCommandGenerator.heaterMotor4Set(distance);
case 5 -> deviceCommand = DeviceCommandGenerator.heaterMotor5Set(distance);
case 6 -> deviceCommand = DeviceCommandGenerator.heaterMotor6Set(distance);
HeatModuleId heatModuleId = HeatModuleId.valueOf(index);
if (velocity != null) {
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.heaterMotor1Set(distance);
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.heaterMotor2Set(distance);
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.heaterMotor3Set(distance);
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.heaterMotor4Set(distance);
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.heaterMotor5Set(distance);
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.heaterMotor6Set(distance);
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);
commandWait(deviceCommandFuture);
}
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.heaterMotor1MoveBy(distance);
case 2 -> deviceCommand = DeviceCommandGenerator.heaterMotor2MoveBy(distance);
case 3 -> deviceCommand = DeviceCommandGenerator.heaterMotor3MoveBy(distance);
case 4 -> deviceCommand = DeviceCommandGenerator.heaterMotor4MoveBy(distance);
case 5 -> deviceCommand = DeviceCommandGenerator.heaterMotor5MoveBy(distance);
case 6 -> deviceCommand = DeviceCommandGenerator.heaterMotor6MoveBy(distance);
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.heaterMotor1MoveBy(distance);
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.heaterMotor2MoveBy(distance);
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.heaterMotor3MoveBy(distance);
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.heaterMotor4MoveBy(distance);
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.heaterMotor5MoveBy(distance);
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.heaterMotor6MoveBy(distance);
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

35
src/main/java/com/iflytop/gd/app/cmd/debug/PalletElevatorLiftUpCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.HeatModuleId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -26,32 +27,32 @@ public class PalletElevatorLiftUpCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
Double distance = cmdDTO.getDoubleParam("distance");
Double velocity = cmdDTO.getDoubleParam("velocity");
DeviceCommandBundle deviceCommand;
if(velocity != null) {
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.heaterMotor1Set(distance);
case 2 -> deviceCommand = DeviceCommandGenerator.heaterMotor2Set(distance);
case 3 -> deviceCommand = DeviceCommandGenerator.heaterMotor3Set(distance);
case 4 -> deviceCommand = DeviceCommandGenerator.heaterMotor4Set(distance);
case 5 -> deviceCommand = DeviceCommandGenerator.heaterMotor5Set(distance);
case 6 -> deviceCommand = DeviceCommandGenerator.heaterMotor6Set(distance);
HeatModuleId heatModuleId = HeatModuleId.valueOf(index);
if (velocity != null) {
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.heaterMotor1Set(distance);
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.heaterMotor2Set(distance);
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.heaterMotor3Set(distance);
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.heaterMotor4Set(distance);
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.heaterMotor5Set(distance);
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.heaterMotor6Set(distance);
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);
commandWait(deviceCommandFuture);
}
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.heaterMotor1MoveBy(distance);
case 2 -> deviceCommand = DeviceCommandGenerator.heaterMotor2MoveBy(distance);
case 3 -> deviceCommand = DeviceCommandGenerator.heaterMotor3MoveBy(distance);
case 4 -> deviceCommand = DeviceCommandGenerator.heaterMotor4MoveBy(distance);
case 5 -> deviceCommand = DeviceCommandGenerator.heaterMotor5MoveBy(distance);
case 6 -> deviceCommand = DeviceCommandGenerator.heaterMotor6MoveBy(distance);
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.heaterMotor1MoveBy(distance);
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.heaterMotor2MoveBy(distance);
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.heaterMotor3MoveBy(distance);
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.heaterMotor4MoveBy(distance);
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.heaterMotor5MoveBy(distance);
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.heaterMotor6MoveBy(distance);
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

18
src/main/java/com/iflytop/gd/app/cmd/debug/PalletElevatorStopCommandHandler.java

@ -7,6 +7,7 @@ import com.iflytop.gd.common.annotation.CommandMapping;
import com.iflytop.gd.common.cmd.CommandFuture;
import com.iflytop.gd.common.cmd.DeviceCommandBundle;
import com.iflytop.gd.common.cmd.DeviceCommandGenerator;
import com.iflytop.gd.common.enums.HeatModuleId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -27,15 +28,16 @@ public class PalletElevatorStopCommandHandler extends BaseCommandHandler {
@Override
public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
return runAsync(() -> {
Integer index = cmdDTO.getIntegerParam("index");
String index = cmdDTO.getStringParam("index");
HeatModuleId heatModuleId = HeatModuleId.valueOf(index);
DeviceCommandBundle deviceCommand;
switch (index) {
case 1 -> deviceCommand = DeviceCommandGenerator.heaterMotor1Stop();
case 2 -> deviceCommand = DeviceCommandGenerator.heaterMotor2Stop();
case 3 -> deviceCommand = DeviceCommandGenerator.heaterMotor3Stop();
case 4 -> deviceCommand = DeviceCommandGenerator.heaterMotor4Stop();
case 5 -> deviceCommand = DeviceCommandGenerator.heaterMotor5Stop();
case 6 -> deviceCommand = DeviceCommandGenerator.heaterMotor6Stop();
switch (heatModuleId) {
case heat_module_01 -> deviceCommand = DeviceCommandGenerator.heaterMotor1Stop();
case heat_module_02 -> deviceCommand = DeviceCommandGenerator.heaterMotor2Stop();
case heat_module_03 -> deviceCommand = DeviceCommandGenerator.heaterMotor3Stop();
case heat_module_04 -> deviceCommand = DeviceCommandGenerator.heaterMotor4Stop();
case heat_module_05 -> deviceCommand = DeviceCommandGenerator.heaterMotor5Stop();
case heat_module_06 -> deviceCommand = DeviceCommandGenerator.heaterMotor6Stop();
default -> throw new RuntimeException("index 未找到");
}
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);

18
src/main/java/com/iflytop/gd/app/cmd/debug/TransportationArmMoveCommandHandler.java

@ -32,22 +32,22 @@ public class TransportationArmMoveCommandHandler extends BaseCommandHandler {
Double yDimDistance = cmdDTO.getDoubleParam("yDimDistance");
Double zDimDistance = cmdDTO.getDoubleParam("zDimDistance");
Double xDimvelocity = cmdDTO.getDoubleParam("xDimvelocity");
Double yDimvelocity = cmdDTO.getDoubleParam("yDimvelocity");
Double zDimvelocity = cmdDTO.getDoubleParam("zDimvelocity");
Double xDimVelocity = cmdDTO.getDoubleParam("xDimVelocity");
Double yDimVelocity = cmdDTO.getDoubleParam("yDimVelocity");
Double zDimVelocity = cmdDTO.getDoubleParam("zDimVelocity");
List<CommandFuture> futuresList = new ArrayList<>();
if(xDimvelocity != null){
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.gantryXSet(xDimvelocity);
if(xDimVelocity != null){
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.gantryXSet(xDimVelocity);
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);
futuresList.add(deviceCommandFuture);
}
if(yDimvelocity != null){
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.gantryYSet(yDimvelocity);
if(yDimVelocity != null){
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.gantryYSet(yDimVelocity);
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);
futuresList.add(deviceCommandFuture);
}
if(zDimvelocity != null){
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.gantryZSet(zDimvelocity);
if(zDimVelocity != null){
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.gantryZSet(zDimVelocity);
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdDTO.getCommandId(), cmdDTO.getCommand(), deviceCommand);
futuresList.add(deviceCommandFuture);
}

20
src/main/java/com/iflytop/gd/app/service/DeviceCommandService.java

@ -16,7 +16,10 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.*;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.LinkedBlockingQueue;
@Slf4j
@Service
@ -98,14 +101,21 @@ public class DeviceCommandService {
}
} else {
//虚拟模式
try (ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor()) {
scheduler.schedule(() -> {
new Thread(() -> {
try {
String actionName = commandFuture.getDeviceCommandBundle().getDeviceCommand().getAction().name();
if (actionName.contains("move") || actionName.contains("origin")) {
Thread.sleep(2000);
}
JSONObject jsonObject = new JSONObject();
jsonObject.putOnce("cmdId", cmdId);
jsonObject.putOnce("success", true);
completeCommandResponse(jsonObject);
}, 2, TimeUnit.SECONDS);
}
} catch (InterruptedException e) {
// 处理中断异常
Thread.currentThread().interrupt();
}
}).start();
}
}

12
src/main/java/com/iflytop/gd/app/service/DeviceCommandUtilService.java

@ -84,12 +84,12 @@ public class DeviceCommandUtilService {
*/
public void heaterMotorMove(HeatModuleId heatModuleId, double position) throws Exception {
DeviceCommandBundle deviceCommand = switch (heatModuleId) {
case HeatModuleId.MODULE_01 -> DeviceCommandGenerator.heaterMotor1Move(position);
case HeatModuleId.MODULE_02 -> DeviceCommandGenerator.heaterMotor2Move(position);
case HeatModuleId.MODULE_03 -> DeviceCommandGenerator.heaterMotor3Move(position);
case HeatModuleId.MODULE_04 -> DeviceCommandGenerator.heaterMotor4Move(position);
case HeatModuleId.MODULE_05 -> DeviceCommandGenerator.heaterMotor5Move(position);
case HeatModuleId.MODULE_06 -> DeviceCommandGenerator.heaterMotor6Move(position);
case heat_module_01 -> DeviceCommandGenerator.heaterMotor1Move(position);
case heat_module_02 -> DeviceCommandGenerator.heaterMotor2Move(position);
case heat_module_03 -> DeviceCommandGenerator.heaterMotor3Move(position);
case heat_module_04 -> DeviceCommandGenerator.heaterMotor4Move(position);
case heat_module_05 -> DeviceCommandGenerator.heaterMotor5Move(position);
case heat_module_06 -> DeviceCommandGenerator.heaterMotor6Move(position);
};
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(deviceCommand);
commandWait(deviceCommandFuture);

2
src/main/java/com/iflytop/gd/common/cmd/DeviceCommandGenerator.java

@ -901,7 +901,7 @@ public class DeviceCommandGenerator {
public static DeviceCommandBundle clawMove(Double position) {
DeviceCommandParams params = new DeviceCommandParams();
params.setPosition(position);
return controlCmd(CmdDevice.claw, CmdAction.tight, params, "夹爪 移动");
return controlCmd(CmdDevice.claw, CmdAction.move, params, "夹爪 移动");
}
/**

27
src/main/java/com/iflytop/gd/common/enums/AcidPumpDevice.java

@ -8,23 +8,12 @@ import lombok.Getter;
*/
@Getter
public enum AcidPumpDevice {
PUMP_01("acid_pump_01"),
PUMP_02("acid_pump_02"),
PUMP_03("acid_pump_03"),
PUMP_04("acid_pump_04"),
PUMP_05("acid_pump_05"),
PUMP_06("acid_pump_06"),
PUMP_07("acid_pump_07"),
PUMP_08("acid_pump_08");
private final String id;
AcidPumpDevice(String id) {
this.id = id;
}
@Override
public String toString() {
return id;
}
acid_pump_01,
acid_pump_02,
acid_pump_03,
acid_pump_04,
acid_pump_05,
acid_pump_06,
acid_pump_07,
acid_pump_08;
}

23
src/main/java/com/iflytop/gd/common/enums/HeatModuleId.java

@ -8,21 +8,10 @@ import lombok.Getter;
*/
@Getter
public enum HeatModuleId {
MODULE_01("heat_module_01"),
MODULE_02("heat_module_02"),
MODULE_03("heat_module_03"),
MODULE_04("heat_module_04"),
MODULE_05("heat_module_05"),
MODULE_06("heat_module_06");
private final String id;
HeatModuleId(String id) {
this.id = id;
}
@Override
public String toString() {
return id;
}
heat_module_01,
heat_module_02,
heat_module_03,
heat_module_04,
heat_module_05,
heat_module_06;
}

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

@ -1,6 +1,9 @@
package com.iflytop.gd.common.enums.cmd;
public enum CmdAction {
open, close, stop, start, origin, move, move_by, move_joint, move_point, set, get, tight, loose,
open_power, close_power, open_circle, close_circle, open_heart, close_heart, open_cool, close_cool, take_photo
move, move_by, move_joint, move_point, origin,
open, close, stop, start, set, get,
open_power, close_power, open_circle, close_circle,
open_heart, close_heart, open_cool, close_cool, take_photo
}
Loading…
Cancel
Save