26 changed files with 65 additions and 317 deletions
-
6src/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
-
116src/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