14 changed files with 255 additions and 35 deletions
-
3src/main/java/com/iflytop/gd/app/command/control/MoveToHeatAreaCommand.java
-
1src/main/java/com/iflytop/gd/app/command/control/MoveToSolutionAreaCommand.java
-
16src/main/java/com/iflytop/gd/app/command/debug/DebugVacuumValveCloseCommand.java
-
17src/main/java/com/iflytop/gd/app/command/debug/DebugVacuumValveOpenCommand.java
-
2src/main/java/com/iflytop/gd/app/service/api/TrayService.java
-
31src/main/java/com/iflytop/gd/app/service/crafts/CraftsStepService.java
-
6src/main/java/com/iflytop/gd/app/service/device/ActionCommandService.java
-
3src/main/java/com/iflytop/gd/app/service/device/DeviceCommandTempUtilService.java
-
50src/main/java/com/iflytop/gd/app/service/device/module/HeatModuleService.java
-
85src/main/java/com/iflytop/gd/common/command/DeviceCommandGenerator.java
-
6src/main/java/com/iflytop/gd/common/enums/command/CmdDevice.java
-
59src/main/java/com/iflytop/gd/hardware/command/handlers/IOCtrlHandler.java
-
7src/main/java/com/iflytop/gd/hardware/drivers/CameraBaslerDriver.java
-
4src/main/java/com/iflytop/gd/hardware/type/IO/OutputIOMId.java
@ -0,0 +1,59 @@ |
|||
package com.iflytop.gd.hardware.command.handlers; |
|||
|
|||
import com.iflytop.gd.common.command.DeviceCommand; |
|||
import com.iflytop.gd.common.enums.command.CmdAction; |
|||
import com.iflytop.gd.common.enums.command.CmdDevice; |
|||
import com.iflytop.gd.hardware.command.CommandHandler; |
|||
import com.iflytop.gd.hardware.drivers.DODriver.OutputIOCtrlDriver; |
|||
import com.iflytop.gd.hardware.type.IO.OutputIOMId; |
|||
import com.iflytop.gd.hardware.type.MId; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.Map; |
|||
import java.util.Set; |
|||
import java.util.stream.Collectors; |
|||
|
|||
// |
|||
|
|||
@Slf4j |
|||
@Component |
|||
@RequiredArgsConstructor |
|||
public class IOCtrlHandler extends CommandHandler { |
|||
private final OutputIOCtrlDriver driver_; |
|||
private final Map<CmdDevice, OutputIOMId> supportCmdDeviceIOOutputMap = Map.ofEntries( |
|||
Map.entry(CmdDevice.vacuum_pump_valve_3, OutputIOMId.DO_VACUUM_VALVE3), |
|||
Map.entry(CmdDevice.vacuum_pump_valve_4, OutputIOMId.DO_VACUUM_VALVE4), |
|||
Map.entry(CmdDevice.vacuum_pump_valve_5, OutputIOMId.DO_VACUUM_VALVE5), |
|||
Map.entry(CmdDevice.vacuum_pump_valve_6, OutputIOMId.DO_VACUUM_VALVE6) |
|||
); |
|||
|
|||
private final Map<CmdDevice, MId> supportCmdDeviceMIdMap = supportCmdDeviceIOOutputMap.entrySet().stream() |
|||
.collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().mid)); |
|||
|
|||
private final Set<CmdAction> supportActions = Set.of(CmdAction.open, CmdAction.close); |
|||
|
|||
@Override |
|||
protected Map<CmdDevice, MId> getSupportCmdDeviceMIdMap() |
|||
{ |
|||
return supportCmdDeviceMIdMap; |
|||
} |
|||
|
|||
@Override |
|||
protected Set<CmdAction> getSupportActions() { |
|||
return supportActions; |
|||
} |
|||
|
|||
@Override |
|||
public void handleCommand(DeviceCommand command) throws Exception { |
|||
// 发送命令 |
|||
if (command.getAction() == CmdAction.open) { |
|||
log.info("open {}", command.getDevice()); |
|||
driver_.open(supportCmdDeviceIOOutputMap.get(command.getDevice())); |
|||
} else if (command.getAction() == CmdAction.close) { |
|||
log.info("close {}", command.getDevice()); |
|||
driver_.close(supportCmdDeviceIOOutputMap.get(command.getDevice())); |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue