石墨消解仪后端服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.6 KiB

  1. package com.iflytop.gd.app.cmd;
  2. import com.iflytop.gd.app.core.BaseCommandHandler;
  3. import com.iflytop.gd.app.model.dto.CmdDTO;
  4. import com.iflytop.gd.app.service.DeviceCommandUtilService;
  5. import com.iflytop.gd.app.service.DeviceStateService;
  6. import com.iflytop.gd.app.service.SelfTestService;
  7. import com.iflytop.gd.common.annotation.CommandMapping;
  8. import com.iflytop.gd.hardware.drivers.DODriver.OutputIOCtrlDriver;
  9. import com.iflytop.gd.hardware.service.IOService;
  10. import com.iflytop.gd.hardware.type.IO.OutputIOMId;
  11. import lombok.RequiredArgsConstructor;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.springframework.stereotype.Component;
  14. import java.util.concurrent.CompletableFuture;
  15. /**
  16. * 拍子升降回原点
  17. */
  18. @Slf4j
  19. @Component
  20. @RequiredArgsConstructor
  21. @CommandMapping("cap_lifting_origin")//业务指令注解
  22. public class CapLiftingOriginCommand extends BaseCommandHandler {
  23. private final DeviceCommandUtilService deviceCommandUtilService;
  24. private final SelfTestService selfTestService;
  25. private final OutputIOCtrlDriver outputIOCtrlDriver;
  26. @Override
  27. public CompletableFuture<Void> handle(CmdDTO cmdDTO) {
  28. return runAsync(() -> {
  29. outputIOCtrlDriver.open(OutputIOMId.DO_TRAY_MOTOR_CLAMP);
  30. //拍子升降回原点
  31. deviceCommandUtilService.trayMotorOrigin(cmdDTO.getCommandId(), cmdDTO.getCommand());
  32. outputIOCtrlDriver.close(OutputIOMId.DO_TRAY_MOTOR_CLAMP);
  33. //将拍子升降是否在原点状态设置为true
  34. selfTestService.getSelfTestState().setCapLiftingOrigin(true);
  35. });
  36. }
  37. }