diff --git a/src/main/java/a8k/app/controler/api/v1/app/ctrl/OsCtrlControler.java b/src/main/java/a8k/app/controler/api/v1/app/ctrl/OsCtrlControler.java index b57f913..de9323a 100644 --- a/src/main/java/a8k/app/controler/api/v1/app/ctrl/OsCtrlControler.java +++ b/src/main/java/a8k/app/controler/api/v1/app/ctrl/OsCtrlControler.java @@ -53,6 +53,7 @@ public class OsCtrlControler { @PostMapping("/shutdown") public ApiRet shutdown() throws AppException { //TODO: + log.info("关机"); if (deviceWorkStateMgrService.isDeviceWorking()) { throw new AppException(A8kEcode.SHUTDOWN_ERROR_DEVICE_IS_WORKING); } diff --git a/src/main/java/a8k/app/engineer/service/qatest/ExperimentConsistencyTestingService.java b/src/main/java/a8k/app/engineer/service/qatest/ExperimentConsistencyTestingService.java index 868606d..6182bba 100644 --- a/src/main/java/a8k/app/engineer/service/qatest/ExperimentConsistencyTestingService.java +++ b/src/main/java/a8k/app/engineer/service/qatest/ExperimentConsistencyTestingService.java @@ -183,6 +183,7 @@ public class ExperimentConsistencyTestingService { } void docmd(String mark, A8kCmdRunnable runnable) throws AppException { + UISender.txInfoMsg(log, mark); actionExecutor.docmd(mark, runnable); } @@ -291,6 +292,7 @@ public class ExperimentConsistencyTestingService { //移动试管架到预处理位置 int finalTubeoff = tubeoff; + UISender.txInfoMsg(log, "开始处理第%d个试管", finalTubeoff + 1); docmd("移动试管到处理位", () -> tubeFeedingCtrlService.moveTubeToPreProcessPos(finalTubeoff)); //尝试处理孵育完成的反应板 @@ -329,6 +331,7 @@ public class ExperimentConsistencyTestingService { processTube(tube, tubeoff, consumableInfo, tubeSetting); if (!tube.getErrors().isEmpty()) { log.warn("样本异常,跳过当前样本"); + UISender.txErrorMsg(log, tube.getErrors().getFirst(), "样本异常,跳过当前样本"); break; } docmd("HBOT复位", hbotMoveExCtrlService::moveQuickToZero); @@ -336,6 +339,7 @@ public class ExperimentConsistencyTestingService { } incubationPlateProcess(true); + UISender.txInfoPrompt(log, "试剂实验一致性检测完成"); } private void processTube(Tube tube, Integer offset, ConsumablesMgrService.ConsumableInfo consumableInfo, TubeSetting tubeSetting) throws AppException { diff --git a/src/main/java/a8k/app/service/appsetup/A8kSubModuleRegInitService.java b/src/main/java/a8k/app/service/appsetup/A8kSubModuleRegInitService.java index db3974b..998bf4a 100644 --- a/src/main/java/a8k/app/service/appsetup/A8kSubModuleRegInitService.java +++ b/src/main/java/a8k/app/service/appsetup/A8kSubModuleRegInitService.java @@ -53,14 +53,14 @@ public class A8kSubModuleRegInitService { } private void initModuleRegVal() { - // while(true){ - // try { - // canBus.moduleSetReg(MId.FeedingModInfeedM,RegIndex.kreg_step_motor_max_d,0); - // canBus.moduleSetReg(MId.FeedingModOutfeedM,RegIndex.kreg_step_motor_max_d,0); - // } catch (AppException e) { - // throw new RuntimeException(e); - // } - // } +// while(true){ +// try { +// canBus.moduleGetReg(MId.IncubatorTCM,RegIndex.kreg_water_cooling_tmp_controler_pid_feedbackval); +// canBus.moduleSetReg(MId.FeedingModOutfeedM,RegIndex.kreg_step_motor_max_d,0); +// } catch (AppException e) { +// throw new RuntimeException(e); +// } +// } // while (true) { try { diff --git a/src/main/java/a8k/app/service/lowerctrl/OptScanModuleCtrlService.java b/src/main/java/a8k/app/service/lowerctrl/OptScanModuleCtrlService.java index c11aa65..a4a739c 100644 --- a/src/main/java/a8k/app/service/lowerctrl/OptScanModuleCtrlService.java +++ b/src/main/java/a8k/app/service/lowerctrl/OptScanModuleCtrlService.java @@ -83,7 +83,6 @@ public class OptScanModuleCtrlService { public void pullPlate(IncubatorPos turntablePosIndex) throws AppException { - UISender.txInfoMsg(log, "拉取反应板"); turnableMoveCtrlService.trunableMoveToPullPos(turntablePosIndex); stepMotorCtrlDriver.stepMotorEasyMoveToBlock(StepMotorMId.OptModScannerM, optModuleParamsMgr.getOptScanerScandbyPos()); stepMotorCtrlDriver.stepMotorEasyMoveToBlock(StepMotorMId.OptModPullM, optModuleParamsMgr.getPullerTargetPos()); @@ -91,7 +90,6 @@ public class OptScanModuleCtrlService { } public void dropPlate() throws AppException { - UISender.txInfoMsg(log, "丢弃反应板"); stepMotorCtrlDriver.stepMotorEasyMoveToBlock(StepMotorMId.OptModScannerM, optModuleParamsMgr.getOptScanerDropPos()); stepMotorCtrlDriver.stepMotorEasyMoveToZeroPointQuickBlock(StepMotorMId.OptModScannerM); stepMotorCtrlDriver.stepMotorEasyMoveToBlock(StepMotorMId.OptModScannerM, optModuleParamsMgr.getOptScanerScandbyPos()); diff --git a/src/main/java/a8k/app/service/utils/UISender.java b/src/main/java/a8k/app/service/utils/UISender.java index 04d2bf5..2a445df 100644 --- a/src/main/java/a8k/app/service/utils/UISender.java +++ b/src/main/java/a8k/app/service/utils/UISender.java @@ -4,9 +4,11 @@ import a8k.SpringBootBeanUtil; import a8k.app.factory.ZAppPromoptFactory; import a8k.app.service.background.AppEventBusService; import a8k.app.service.background.FrontEndMessageBoxAndEventMgr; +import a8k.app.type.appevent.AppPromptEvent; import a8k.app.type.error.AppError; import a8k.app.type.ui.MessageBox; import a8k.app.type.ui.MessageLevel; +import a8k.app.type.ui.ZAppPromopt; import org.slf4j.Logger; public class UISender { @@ -33,4 +35,11 @@ public class UISender { ebus.pushEvent(ZAppPromoptFactory.buildAppPromoptEvent(exception)); } + public static void txInfoPrompt(Logger logger, String msg, Object... args) { + UISender.txInfoMsg(logger, msg, args); + var ebus = SpringBootBeanUtil.getBean(AppEventBusService.class); + ebus.pushEvent(new AppPromptEvent(new ZAppPromopt(MessageLevel.Info, String.format(msg, args)))); + } + + } diff --git a/src/main/java/a8k/extui/page/driver/MotorCtrlPage.java b/src/main/java/a8k/extui/page/driver/MotorCtrlPage.java index 597a959..b14f8ee 100644 --- a/src/main/java/a8k/extui/page/driver/MotorCtrlPage.java +++ b/src/main/java/a8k/extui/page/driver/MotorCtrlPage.java @@ -54,6 +54,10 @@ public class MotorCtrlPage { stepMotorCtrlDriver.stepMotorEasyMoveToZero(id); } + public void stepMotorEasyMoveToZeroPointQuickBlock() throws AppException { + stepMotorCtrlDriver.stepMotorEasyMoveToZeroPointQuickBlock(id); + } + public void stepMotorStop() throws AppException { stepMotorCtrlDriver.stepMotorStop(id); } @@ -185,6 +189,8 @@ public class MotorCtrlPage { page.addFunction("使能电机", this::enableMotor); page.addFunction("失能电机", this::disableMotor); page.addFunction("归零", this::stepMotorEasyMoveToZero); + page.addFunction("快速归零", this::stepMotorEasyMoveToZeroPointQuickBlock); + page.addFunction("停止", this::stepMotorStop); page.newGroup("相对移动");