Browse Source

完善调试i页面

master
zhaohe 3 months ago
parent
commit
102c4c77c6
  1. 66
      src/main/java/a8k/app/engineer/service/qatest/LiquidAbsorptionAndDistributionTestService.java
  2. 4
      src/main/java/a8k/app/engineer/service/utils/BeforeDoEngineerActionChecker.java
  3. 1
      src/main/java/a8k/app/hardware/type/A8kEcode.java
  4. 1
      src/main/java/a8k/app/i18n/Internationalization.java
  5. 6
      src/main/java/a8k/extui/page/extapp/profession_test/P01PipetteGunVerification.java

66
src/main/java/a8k/app/engineer/service/qatest/LiquidAbsorptionAndDistributionTestService.java

@ -69,6 +69,10 @@ public class LiquidAbsorptionAndDistributionTestService {
}
}
synchronized public void setTakeTipEachTime(boolean takeTipEachTime) {
config.takeTipEachTime = takeTipEachTime;
}
/**
* 吸取并分配液体
* @param ul ul
@ -76,32 +80,31 @@ public class LiquidAbsorptionAndDistributionTestService {
*/
public void absorbAndDistribute(Integer ul) throws AppException {
log.info("吸取并分配液体 {}", ul);
return;
// /*
// * 检查当前是否有其他项目正在进行测试
// */
// BeforeDoEngineerActionChecker.check();
//
// actionExecutor.start(() -> {
//
//
// try {
// actionExecutor.docmd("移液", () -> {
// if (config.takeTipEachTime)
// hbotMoveExCtrlService.dropTip();
// takeTip();
// lld();
// if (liquidPos == 0)
// throw AppException.ofAECodeError("未检测到液体");
// takeLiquid(ul * 1.0);
// distributeLiquid();
// resetPos();
// });
//
// } catch (AppException e) {
// UISender.txErrorPrompt(e);
// }
// });
/*
* 检查当前是否有其他项目正在进行测试
*/
BeforeDoEngineerActionChecker.check();
actionExecutor.start(() -> {
try {
actionExecutor.docmd("移液", () -> {
if (config.takeTipEachTime)
hbotMoveExCtrlService.dropTip();
takeTip();
lld();
if (liquidPos == 0)
throw AppException.ofAECodeError("未检测到液体");
takeLiquid(ul * 1.0);
distributeLiquid();
resetPos();
});
} catch (AppException e) {
UISender.txErrorPrompt(e);
}
});
}
/**
@ -174,8 +177,8 @@ public class LiquidAbsorptionAndDistributionTestService {
}
private void takeLiquid(Double ul) throws AppException {
hbotMoveExCtrlService.moveToLargeBSSamplePosXY(ConsumableGroup.CG1);
pipetteCtrlDriver.zMotorMoveToBlock(0);
// hbotMoveExCtrlService.moveToLargeBSSamplePosXY(ConsumableGroup.CG1);
// pipetteCtrlDriver.zMotorMoveToBlock(0);
//OLD CODE
// pumpMoveTo(8000, 0.0);
@ -198,14 +201,13 @@ public class LiquidAbsorptionAndDistributionTestService {
ul = pipetteGunExParamMgr.calibrateVolume(ul);
log.info("取液体 {}", ul);
pipetteCtrlDriver.pipetteAspirate(ul);
pipetteCtrlDriver.zMotorMoveToBlock(0);
pipetteCtrlDriver.zMotorMoveToZeroPointQuickBlock();
}
private void distributeLiquid() throws AppException {
hbotMoveExCtrlService.moveToLargeBSSamplePosXY(ConsumableGroup.CG6);
pipetteCtrlDriver.zMotorMoveToBlock(50);
hbotMoveExCtrlService.moveToLargeBSSamplePos(ConsumableGroup.CG6);
pumpMoveTo(8000, 0.0);
pipetteCtrlDriver.zMotorMoveToBlock(0);
pipetteCtrlDriver.zMotorMoveToZeroPointQuickBlock();
}
private void resetPos() throws AppException {

4
src/main/java/a8k/app/engineer/service/utils/BeforeDoEngineerActionChecker.java

@ -23,6 +23,10 @@ public class BeforeDoEngineerActionChecker {
/*
* 检查当前是否有其他项目正在进行测试
*/
if (!gStateMgrService.isDeviceInited()) {
throw AppException.of(A8kEcode.DEVICE_NOT_INIT);
}
if (engineerModeStateMgrService.getState().equals(EngineerWorkState.WORKING)) {
throw AppException.of(A8kEcode.DEVICE_IS_BUSY, "当前正执行其他工程师模式下的动作");
}

1
src/main/java/a8k/app/hardware/type/A8kEcode.java

@ -28,6 +28,7 @@ public enum A8kEcode {
LOGIN_OUT_ERROR_DEVICE_IS_WORKING(16), //设备正在工作中不允许退出登录
DEVICE_IS_BUSY(17), //设备正在工作中不允许操作
SYS_EXCEPTION(18), //系统异常
DEVICE_NOT_INIT(19), //设备未初始化
//
// 参数错误

1
src/main/java/a8k/app/i18n/Internationalization.java

@ -71,6 +71,7 @@ public class Internationalization {
case DEVICE_STARTUP_IN_PROGRESS -> "设备启动中,请稍后";
case DEVICE_IS_BUSY -> "设备忙";
case SYS_EXCEPTION -> "系统异常";
case DEVICE_NOT_INIT -> "设备未初始化";
default -> ecode.toString();
};
}

6
src/main/java/a8k/extui/page/extapp/profession_test/P01PipetteGunVerification.java

@ -43,7 +43,9 @@ public class P01PipetteGunVerification {
page.newGroup("测试0");
page.addFunction("取一次10ul", this::aspirate10ul);
page.addFunction("取一次75ul", this::aspirate75ul);
page.newGroup("测试1");
page.addFunction("取一次", this::aspirate);
page.addFunction("取一次5ul", this::aspirate5ul);
page.addFunction("取一次30ul", this::aspirate30ul);
page.addFunction("取一次50ul", this::aspirate50ul);
@ -55,6 +57,10 @@ public class P01PipetteGunVerification {
pipetteGunExParamMgr.setVolumeCalibrationCoefficient(coefficientA, coefficientB);
}
public void aspirate(Integer ul,Boolean takeTipEachTime) throws AppException {
liquidAbsorptionAndDistributionTestService.setTakeTipEachTime(takeTipEachTime);
liquidAbsorptionAndDistributionTestService.absorbAndDistribute(ul);
}
public void aspirate10ul() throws AppException {
liquidAbsorptionAndDistributionTestService.absorbAndDistribute(10);

Loading…
Cancel
Save