10 changed files with 229 additions and 38 deletions
-
6src/main/java/a8k/app/constant/ActionOvertimeConstant.java
-
77src/main/java/a8k/app/hardware/driver/PipetteCtrlDriverV2.java
-
2src/main/java/a8k/app/hardware/type/CmdId.java
-
1src/main/java/a8k/app/hardware/type/pipette_module/cpyidx/ZMVCpyIdx.java
-
3src/main/java/a8k/extui/mgr/ExtApiPageGroupCfgMgr.java
-
12src/main/java/a8k/extui/page/driver/pipette_module/PipetteGunCfgSync.java
-
28src/main/java/a8k/extui/page/driver/pipette_module/PipetteGunContainerConfigSettingPage.java
-
27src/main/java/a8k/extui/page/driver/pipette_module/PipetteGunOperationCtrlPage.java
-
69src/main/java/a8k/extui/page/driver/pipette_module/PipetteGunPMVelConfigSettingPage.java
-
42src/main/java/a8k/extui/page/driver/pipette_module/PipetteGunTestCtrlPage.java
@ -0,0 +1,69 @@ |
|||
package a8k.extui.page.driver.pipette_module; |
|||
|
|||
import a8k.app.hardware.driver.PipetteCtrlDriverV2; |
|||
import a8k.app.hardware.type.pipette_module.cfg.PMVConfigIndex; |
|||
import a8k.app.hardware.type.pipette_module.cfg.ZMVConfigIndex; |
|||
import a8k.app.hardware.type.pipette_module.cpyidx.PMVCpyIdx; |
|||
import a8k.app.type.exception.AppException; |
|||
import a8k.extui.mgr.ExtApiPageMgr; |
|||
import jakarta.annotation.PostConstruct; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@RequiredArgsConstructor |
|||
@Slf4j |
|||
public class PipetteGunPMVelConfigSettingPage { |
|||
private final ExtApiPageMgr extApiPageMgr; |
|||
private final PipetteCtrlDriverV2 pipetteCtrlDriverV2; |
|||
|
|||
|
|||
PMVCpyIdx cpyId = PMVCpyIdx.VDefault; |
|||
|
|||
public void setCpyIdCxtRefreshPage(PMVCpyIdx cpyId) { |
|||
this.cpyId = cpyId; |
|||
} |
|||
|
|||
public void setVStartConfig(Integer vStart, Integer acc) throws AppException { |
|||
pipetteCtrlDriverV2.setPMVCfg(cpyId, PMVConfigIndex.acc, acc); |
|||
pipetteCtrlDriverV2.setPMVCfg(cpyId, PMVConfigIndex.vStart, vStart); |
|||
} |
|||
|
|||
public void setVStopConfig(Integer vStop, Integer dec) throws AppException { |
|||
pipetteCtrlDriverV2.setPMVCfg(cpyId, PMVConfigIndex.dec, dec); |
|||
pipetteCtrlDriverV2.setPMVCfg(cpyId, PMVConfigIndex.vStop, vStop); |
|||
} |
|||
|
|||
public void setVMax(Integer vMax) throws AppException { |
|||
pipetteCtrlDriverV2.setPMVCfg(cpyId, PMVConfigIndex.vMax, vMax); |
|||
} |
|||
|
|||
|
|||
public Integer getConfig(PMVConfigIndex index) { |
|||
try { |
|||
return pipetteCtrlDriverV2.getPMVCfg(cpyId, index); |
|||
} catch (AppException e) { |
|||
return 0; |
|||
} |
|||
} |
|||
|
|||
|
|||
@PostConstruct |
|||
void init() { |
|||
var page = extApiPageMgr.newPage(this); |
|||
page.newGroup("基础操作"); |
|||
page.addFunction("设置速度CpyId", this::setCpyIdCxtRefreshPage) |
|||
.setParamVal("cpyId", () -> cpyId); |
|||
page.addFunction("设置加速过程配置(vStart:0->319,acc:1->20)", this::setVStartConfig) |
|||
.setParamVal("vStart", () -> getConfig(PMVConfigIndex.vStart)) |
|||
.setParamVal("acc", () -> getConfig(PMVConfigIndex.acc)); |
|||
page.addFunction("设置减速过程配置(vStop:0->319,dec:1->20)", this::setVStopConfig) |
|||
.setParamVal("vStop", () -> getConfig(PMVConfigIndex.vStop)) |
|||
.setParamVal("dec", () -> getConfig(PMVConfigIndex.dec)); |
|||
page.addFunction("设置最大速度配置(vMax:0->2552 ul/s)", this::setVMax) |
|||
.setParamVal("vMax", () -> getConfig(PMVConfigIndex.vMax)); |
|||
extApiPageMgr.addPage(page); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,42 @@ |
|||
package a8k.extui.page.driver.pipette_module; |
|||
|
|||
import a8k.app.hardware.driver.PipetteCtrlDriverV2; |
|||
import a8k.app.hardware.type.pipette_module.AspirationParamId; |
|||
import a8k.app.hardware.type.pipette_module.cpyidx.ContainerCpyId; |
|||
import a8k.app.hardware.type.pipette_module.cpyidx.LiquidConfigCpyIdx; |
|||
import a8k.app.hardware.type.pipette_module.cpyidx.PMVCpyIdx; |
|||
import a8k.app.type.exception.AppException; |
|||
import a8k.extui.mgr.ExtApiPageMgr; |
|||
import jakarta.annotation.PostConstruct; |
|||
import lombok.Data; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@RequiredArgsConstructor |
|||
@Slf4j |
|||
@Data |
|||
public class PipetteGunTestCtrlPage { |
|||
private final ExtApiPageMgr extApiPageMgr; |
|||
private final PipetteCtrlDriverV2 pipetteCtrlDriverV2; |
|||
|
|||
public void pipetteTestPumpMoveToX100nl(Integer x100nl, PMVCpyIdx vcpyidx) throws AppException { |
|||
pipetteCtrlDriverV2.pipetteTestPumpMoveToX100nl(x100nl, vcpyidx.toInteger()); |
|||
} |
|||
|
|||
public void pipetteTestLld(Integer containerPos, ContainerCpyId containerCpyId, LiquidConfigCpyIdx liquidCpyId) throws AppException { |
|||
pipetteCtrlDriverV2.pipetteTestLld(containerPos, containerCpyId, liquidCpyId); |
|||
} |
|||
|
|||
|
|||
@PostConstruct |
|||
void init() { |
|||
var page = extApiPageMgr.newPage(this); |
|||
page.newGroup(" 操作"); |
|||
page.addFunction("单元测试-测试泵机移动到X100nl", this::pipetteTestPumpMoveToX100nl); |
|||
page.addFunction("单元测试-测试泵机LLD", this::pipetteTestLld); |
|||
extApiPageMgr.addPage(page); |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue