|
|
@ -10,6 +10,8 @@ import com.iflytop.gd.common.enums.AcidPumpDeviceCode; |
|
|
|
import com.iflytop.gd.common.enums.HeatModuleCode; |
|
|
|
import com.iflytop.gd.common.enums.cmd.CmdAxis; |
|
|
|
import com.iflytop.gd.common.enums.data.DevicePositionCode; |
|
|
|
import com.iflytop.gd.hardware.service.GDDeviceStatusService; |
|
|
|
import com.iflytop.gd.hardware.type.IO.InputIOMId; |
|
|
|
import com.iflytop.gd.hardware.type.LiquidDistributionArmDriver; |
|
|
|
import com.iflytop.gd.hardware.type.Servo.LiquidArmMId; |
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
@ -25,6 +27,7 @@ public class DeviceCommandUtilService { |
|
|
|
private final DeviceCommandService deviceCommandService; |
|
|
|
private final DevicePositionService devicePositionService; |
|
|
|
private final LiquidDistributionArmDriver liquidDistributionArmDriver; |
|
|
|
private final GDDeviceStatusService gdDeviceStatusService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 门电机移动 |
|
|
@ -231,14 +234,38 @@ public class DeviceCommandUtilService { |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 将拍子升降区抬升至可以获取的位置 |
|
|
|
*/ |
|
|
|
public void capUpBalance() throws Exception { |
|
|
|
capUpBalance(null, null); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 将拍子升降区抬升至可以获取的位置 |
|
|
|
*/ |
|
|
|
public void capUpBalance(String cmdId, String cmdCode) throws Exception { |
|
|
|
int capNum = 0; |
|
|
|
for (InputIOMId inputIOMId : InputIOMId.values()) { |
|
|
|
Boolean exist = gdDeviceStatusService.getInputState(inputIOMId); |
|
|
|
if (exist) { |
|
|
|
capNum++; |
|
|
|
} |
|
|
|
} |
|
|
|
double capLiftingHeight = devicePositionService.getPosition(DevicePositionCode.capLiftingHeight).getDistance(); |
|
|
|
double capLiftingHeightSum = (6 - capNum) * capLiftingHeight; |
|
|
|
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.trayMotorMove(capLiftingHeightSum); |
|
|
|
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdId, cmdCode, deviceCommand); |
|
|
|
commandWait(deviceCommandFuture); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 调整拍子升降电机位置 |
|
|
|
* |
|
|
|
* @param num 1为上升1格,-1为下降1格 |
|
|
|
*/ |
|
|
|
public void capMotorMove(String cmdId, String cmdCode, int num) throws Exception { |
|
|
|
double capHeight = 0.0; //TODO 每个拍子的高度 从数据库中获取 |
|
|
|
//TODO 获取当前拍子升降电机位置 |
|
|
|
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.trayMotorMove(num * capHeight); |
|
|
|
double capLiftingHeight = devicePositionService.getPosition(DevicePositionCode.capLiftingHeight).getDistance(); |
|
|
|
DeviceCommandBundle deviceCommand = DeviceCommandGenerator.trayMotorMove(num * capLiftingHeight); |
|
|
|
CommandFuture deviceCommandFuture = deviceCommandService.sendCommand(cmdId, cmdCode, deviceCommand); |
|
|
|
commandWait(deviceCommandFuture); |
|
|
|
} |
|
|
|