26 changed files with 65 additions and 317 deletions
-
10src/main/java/com/iflytop/sgs/app/cmd/control/HeatStartCommand.java
-
2src/main/java/com/iflytop/sgs/app/cmd/control/TransferXOriginCommand.java
-
2src/main/java/com/iflytop/sgs/app/cmd/control/TransferZOriginCommand.java
-
8src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorXMoveByCommand.java
-
2src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorXMoveToCommand.java
-
2src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorXOriginCommand.java
-
2src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorXStopCommand.java
-
8src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZMoveByCommand.java
-
2src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZMoveToCommand.java
-
2src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZOriginCommand.java
-
4src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZSetCommand.java
-
2src/main/java/com/iflytop/sgs/app/cmd/debug/DebugMotorZStopCommand.java
-
2src/main/java/com/iflytop/sgs/app/controller/SelfTestController.java
-
12src/main/java/com/iflytop/sgs/app/model/bo/status/SelfTestState.java
-
6src/main/java/com/iflytop/sgs/app/model/bo/status/device/DeviceState.java
-
2src/main/java/com/iflytop/sgs/app/model/bo/status/device/DoorModuleState.java
-
4src/main/java/com/iflytop/sgs/app/model/bo/status/device/TransferModuleState.java
-
32src/main/java/com/iflytop/sgs/app/service/crafts/CraftsStepService.java
-
43src/main/java/com/iflytop/sgs/app/service/device/DeviceCommandService.java
-
8src/main/java/com/iflytop/sgs/app/service/device/DeviceStateService.java
-
62src/main/java/com/iflytop/sgs/app/service/device/GantryArmService.java
-
5src/main/java/com/iflytop/sgs/app/service/device/StepCommandService.java
-
118src/main/java/com/iflytop/sgs/app/service/device/module/TransferModuleService.java
-
2src/main/java/com/iflytop/sgs/common/cmd/DeviceCommandGenerator.java
@ -1,62 +0,0 @@ |
|||||
package com.iflytop.sgs.app.service.device; |
|
||||
|
|
||||
|
|
||||
import lombok.RequiredArgsConstructor; |
|
||||
import lombok.extern.slf4j.Slf4j; |
|
||||
import org.springframework.stereotype.Service; |
|
||||
|
|
||||
import java.util.concurrent.locks.Condition; |
|
||||
import java.util.concurrent.locks.Lock; |
|
||||
import java.util.concurrent.locks.ReentrantLock; |
|
||||
|
|
||||
@Slf4j |
|
||||
@Service |
|
||||
@RequiredArgsConstructor |
|
||||
public class GantryArmService { |
|
||||
private final Lock liquidLock = new ReentrantLock(); |
|
||||
private final Condition liquidIdleCondition = liquidLock.newCondition(); |
|
||||
private final DeviceStateService deviceStateService; |
|
||||
|
|
||||
/** |
|
||||
* 等待加液区空闲 |
|
||||
*/ |
|
||||
public void waitLiquidIdle() { |
|
||||
liquidLock.lock(); |
|
||||
try { |
|
||||
while (!deviceStateService.getDeviceState().getSolutionModule().isIdle()) { |
|
||||
liquidIdleCondition.await(); |
|
||||
} |
|
||||
} catch (InterruptedException e) { |
|
||||
throw new RuntimeException("等待加液区空闲错误", e); |
|
||||
} finally { |
|
||||
liquidLock.unlock(); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 锁定加液区 |
|
||||
*/ |
|
||||
public void setLiquidIdleFalse() { |
|
||||
liquidLock.lock(); |
|
||||
try { |
|
||||
deviceStateService.setSolutionModuleStateIdle(false); |
|
||||
liquidIdleCondition.signalAll(); // 唤醒所有等待的线程 |
|
||||
} finally { |
|
||||
liquidLock.unlock(); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 释放加液区 |
|
||||
*/ |
|
||||
public void setLiquidIdleTrue() { |
|
||||
liquidLock.lock(); |
|
||||
try { |
|
||||
deviceStateService.setSolutionModuleStateIdle(true); |
|
||||
liquidIdleCondition.signalAll(); // 唤醒所有等待的线程 |
|
||||
} finally { |
|
||||
liquidLock.unlock(); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue