From c6ff2376f5b528bbf8237838befdee20b67c1c1a Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 24 Jul 2024 11:45:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.db | Bin 479232 -> 479232 bytes src/main/java/a8k/appbean/ecode/AppRet.java | 3 + .../java/a8k/controller/HbotControlController.java | 7 -- .../MotorTubeRackMoveCtrlController.java | 51 -------- .../SamplesPreProcessModuleCtrlController.java | 52 -------- .../java/a8k/controller/TmpTestController.java | 70 ----------- .../DeviceInitializationCtrlService.java | 1 - .../SamplesPreProcessModuleCtrlParamsService.java | 138 --------------------- .../SamplesPreProcessModuleCtrlService.java | 33 ++--- 9 files changed, 20 insertions(+), 335 deletions(-) delete mode 100644 src/main/java/a8k/controller/HbotControlController.java delete mode 100644 src/main/java/a8k/controller/MotorTubeRackMoveCtrlController.java delete mode 100644 src/main/java/a8k/controller/SamplesPreProcessModuleCtrlController.java delete mode 100644 src/main/java/a8k/controller/TmpTestController.java delete mode 100644 src/main/java/a8k/service/db/dao/SamplesPreProcessModuleCtrlParamsService.java diff --git a/app.db b/app.db index fa0167c0e16d01d75aa1bc6ffc9c69df3ded935a..7d17b1d1ba765807bad7b138dfb41a6c80eab300 100644 GIT binary patch delta 536 zcmZozAltA&c7n8ECIbUQDG0?#a4ZY2H6tgBp@D&(L2^-QVo9n(Nn%n?s)D0Mc5n%h>*5pw;s*!%gaH-B z8^p&$l*NOU#iJ?HD=y6WP$f}mWME{XYhbQxWTIeTWMyb%WniplW^Txz!_3Vn>?j<{ zviZ84E+Y>M|0@RmKm6bLKk&cWENF0xfAR-?7A6)JASD8nd<&BN&i{%3El~0VBUt(mF5sFqz^Tbr>_8tgl!`$?;Z>ZUr=$?#8WExc5zS0dQYcBSDB7dJI!Y%DI>Zt$6zm6?mJmJJ*k!R6Bn=Q1j`CwyZDViq7~-JbA`ZGk5jFHoM5 ze=7t3R-pG*^Lu+TG6#lME2X5CWhSQv%wrKb3&rTOI-ZTYcnwlnBrdpbtTL1v@WuH_4 delta 173 zcmZozAltA&c7n8^H3I`fDHJmT>B$pyj9IN2^vXImrYzv+V&*%?z<-e6hVR^FL4yN) zo6pIaF>*2Ue_-JM!~c!{!)Cz?kN78l&=&!UeFBMn=l=v0d&1xR$-e!QJtGh^ZU1D? zEVO}Hh*@(FSN+T^z&tU4gDJRtdf{9~#rA}6%s|Wn#H`yBzOgOv O+^lfn0smwL0R;e(^E@^H diff --git a/src/main/java/a8k/appbean/ecode/AppRet.java b/src/main/java/a8k/appbean/ecode/AppRet.java index 4754a34..9c215d8 100644 --- a/src/main/java/a8k/appbean/ecode/AppRet.java +++ b/src/main/java/a8k/appbean/ecode/AppRet.java @@ -12,6 +12,7 @@ public class AppRet { T data; long timestamp;//接口请求时间 String traceInfo; + String message; public AppRet() { this.timestamp = System.currentTimeMillis(); @@ -100,11 +101,13 @@ public class AppRet { r.ecode = new AppRetEcodeInfo(hexcep.getErrorCode(), hexcep.getModuleId(), hexcep.getCmdId()); r.data = null; r.traceInfo = trace; + r.message = e.getMessage(); } else { r.success = false; r.ecode = new AppRetEcodeInfo(A8kEcode.CodeException, null, null); r.data = null; r.traceInfo = trace; + r.message = e.getMessage(); } return r; } diff --git a/src/main/java/a8k/controller/HbotControlController.java b/src/main/java/a8k/controller/HbotControlController.java deleted file mode 100644 index 0210e4f..0000000 --- a/src/main/java/a8k/controller/HbotControlController.java +++ /dev/null @@ -1,7 +0,0 @@ -package a8k.controller; -import com.iflytop.uf.controller.UfApiControllerBase; -import org.springframework.stereotype.Controller; -@Controller -public class HbotControlController extends UfApiControllerBase { - -} diff --git a/src/main/java/a8k/controller/MotorTubeRackMoveCtrlController.java b/src/main/java/a8k/controller/MotorTubeRackMoveCtrlController.java deleted file mode 100644 index 5882a17..0000000 --- a/src/main/java/a8k/controller/MotorTubeRackMoveCtrlController.java +++ /dev/null @@ -1,51 +0,0 @@ -package a8k.controller; -import a8k.service.db.dao.MotorTubeRackMoveCtrlServiceParameterDao; -import a8k.service.hardware.MotorTubeRackMoveCtrlService; -import com.iflytop.uf.controller.UfApiControllerBase; -import com.iflytop.uf.controller.UfApiResponse; -import com.iflytop.uf.util.UfClassHelper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.ResponseBody; -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.Map; -@Controller -public class MotorTubeRackMoveCtrlController extends UfApiControllerBase { - @Resource - private MotorTubeRackMoveCtrlService motorTubeRackMoveCtrlService; - @Resource - private MotorTubeRackMoveCtrlServiceParameterDao motorTubeRackMoveCtrlServiceParameterDao; - - @PostMapping("/api/motor-tube-rack-move-ctrl/execute-service-method") - @ResponseBody - public UfApiResponse executeServiceMethod( @RequestBody Map params ) throws Throwable { - Object service = this.motorTubeRackMoveCtrlService; - String methodName = (String)params.get("method"); - List methodArgs = (List)params.get("params"); - Object result = UfClassHelper.invokeMethod(service, methodName, methodArgs); - return this.success(result); - } - - @PostMapping("/api/motor-tube-rack-move-ctrl/list-options") - @ResponseBody - public UfApiResponse listAllOptions() throws NoSuchMethodException { - var list = this.motorTubeRackMoveCtrlServiceParameterDao.listOptions(); - return this.success(list); - } - - @PostMapping("/api/motor-tube-rack-move-ctrl/update-options") - @ResponseBody - public UfApiResponse updateOptions(@RequestBody Map params ) throws Exception { - var options = (List>)params.get("options"); - for (Map item : options) { - var name = (String)item.get("name"); - var option = this.motorTubeRackMoveCtrlServiceParameterDao.getOption(name); - option.setValue(item.get("value")); - option.save(); - } - return this.success(); - } -} diff --git a/src/main/java/a8k/controller/SamplesPreProcessModuleCtrlController.java b/src/main/java/a8k/controller/SamplesPreProcessModuleCtrlController.java deleted file mode 100644 index 270c84e..0000000 --- a/src/main/java/a8k/controller/SamplesPreProcessModuleCtrlController.java +++ /dev/null @@ -1,52 +0,0 @@ -package a8k.controller; -import a8k.appbean.HardwareException; -import a8k.service.db.dao.SamplesPreProcessModuleCtrlParamsService; -import a8k.service.hardware.SamplesPreProcessModuleCtrlService; -import com.iflytop.uf.controller.UfApiControllerBase; -import com.iflytop.uf.controller.UfApiResponse; -import com.iflytop.uf.util.UfClassHelper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.ResponseBody; -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.Map; -@Controller -public class SamplesPreProcessModuleCtrlController extends UfApiControllerBase { - @Resource - private SamplesPreProcessModuleCtrlService samplesPreProcessModuleCtrlService; - @Resource - private SamplesPreProcessModuleCtrlParamsService samplesPreProcessModuleCtrlParamsService; - - @PostMapping("/api/sample-pre-process-module-ctrl/execute-service-method") - @ResponseBody - public UfApiResponse executeServiceMethod( @RequestBody Map params ) throws Throwable { - Object service = this.samplesPreProcessModuleCtrlService; - String methodName = (String)params.get("method"); - List methodArgs = (List)params.get("params"); - Object result = UfClassHelper.invokeMethod(service, methodName, methodArgs); - return this.success(result); - } - - @PostMapping("/api/sample-pre-process-module-ctrl/list-options") - @ResponseBody - public UfApiResponse listAllOptions() throws NoSuchMethodException { - var list = this.samplesPreProcessModuleCtrlParamsService.listOptions(); - return this.success(list); - } - - @PostMapping("/api/sample-pre-process-module-ctrl/update-options") - @ResponseBody - public UfApiResponse updateOptions(@RequestBody Map params ) throws Exception { - var options = (List>)params.get("options"); - for (Map item : options) { - var name = (String)item.get("name"); - var option = this.samplesPreProcessModuleCtrlParamsService.getOption(name); - option.setValue(item.get("value")); - option.save(); - } - return this.success(); - } -} diff --git a/src/main/java/a8k/controller/TmpTestController.java b/src/main/java/a8k/controller/TmpTestController.java deleted file mode 100644 index d01a122..0000000 --- a/src/main/java/a8k/controller/TmpTestController.java +++ /dev/null @@ -1,70 +0,0 @@ -package a8k.controller; - -import a8k.a8k_can_protocol.CmdId; -import a8k.a8k_can_protocol.MId; -import a8k.appbean.HardwareException; -import a8k.appbean.ecode.AppRet; -import a8k.base_hardware.A8kCanBusService; -import a8k.service.A8kDebugTaskExecutorService; -import a8k.service.ctrl_service.DeviceInitializationCtrlService; -import a8k.service.hardware.MotorTubeRackMoveCtrlService; -import com.iflytop.uf.util.UfClassHelper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.ResponseBody; - -import java.util.List; -import java.util.Map; - -@Controller -public class TmpTestController { - @Resource - private A8kCanBusService a8kCanBusService; - @Resource - private MotorTubeRackMoveCtrlService motorTubeRackMoveCtrlService; - @Resource - private A8kDebugTaskExecutorService a8kDebugTaskExecutorService; - - @Resource - private DeviceInitializationCtrlService deviceInitializationCtrlService; - - @PostMapping("/api/tmp-test/execute-service-method") - @ResponseBody - public String executeServiceMethod(@RequestBody Map params) throws Throwable { - Object service = this.motorTubeRackMoveCtrlService; - String methodName = (String) params.get("method"); - List methodArgs = (List) params.get("params"); - Object result = UfClassHelper.invokeMethod(service, methodName, methodArgs); - return "OK"; - } - - @PostMapping("/api/tmp-test/update-service-params") - @ResponseBody - public String updateServiceParams(@RequestBody Map params) { - return "OK"; - } - - @PostMapping("/api/tmp-test/get-service-params") - @ResponseBody - public String getServiceParams() { - return "OK"; - } - - @GetMapping("/tmp-test/a8k-can-bus-service-call") - @ResponseBody - public String a8kCanBusServiceCall() throws HardwareException, InterruptedException { - this.a8kCanBusService.callcmd(MId.ShakeModTubeScanerRotateSV.toInt(), CmdId.mini_servo_enable.toInt(), new Integer[]{1}); - this.a8kCanBusService.callblockcmd(MId.FeedingModInfeedM.toInt(), CmdId.step_motor_easy_move_by.toInt(), new Integer[]{5000}, 20000); - return "OK"; - } - - @PostMapping("/api/zhaohe_test/initialize_device") - @ResponseBody - public AppRet initialize_device() throws HardwareException, InterruptedException { - return deviceInitializationCtrlService.initializeDevice(); -// return "OK"; - } -} diff --git a/src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java b/src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java index 8d49311..3f29c9e 100644 --- a/src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java +++ b/src/main/java/a8k/service/ctrl_service/DeviceInitializationCtrlService.java @@ -6,7 +6,6 @@ import a8k.a8k_can_protocol.MId; import a8k.appbean.HardwareException; import a8k.appbean.ecode.AppRet; import a8k.base_hardware.A8kCanBusService; -import a8k.service.db.dao.SamplesPreProcessModuleCtrlParamsService; import a8k.service.hardware.CommonHardwareOpeartion; import a8k.service.hardware.SamplesPreProcessModuleCtrlService; import jakarta.annotation.Resource; diff --git a/src/main/java/a8k/service/db/dao/SamplesPreProcessModuleCtrlParamsService.java b/src/main/java/a8k/service/db/dao/SamplesPreProcessModuleCtrlParamsService.java deleted file mode 100644 index 1f64ec0..0000000 --- a/src/main/java/a8k/service/db/dao/SamplesPreProcessModuleCtrlParamsService.java +++ /dev/null @@ -1,138 +0,0 @@ -package a8k.service.db.dao; - -import a8k.service.db.entity.HardwareServiceSetting; -import a8k.service.hardware.SamplesPreProcessModuleCtrlService; -import a8k.utils.HardwareServiceParam; -import a8k.utils.HardwareServiceParams; -import com.iflytop.uf.UfActiveRecord; -import org.springframework.stereotype.Component; -import java.util.List; -import java.util.Map; -/** - * 样本预处理相关参数访问 - */ -@Component -@HardwareServiceParams(service=SamplesPreProcessModuleCtrlService.class) -public class SamplesPreProcessModuleCtrlParamsService { - - /** - * 参数存放在HardwareServiceSetting中, - * 每个参数,依赖于Key+serviceName进行索引 - */ - public final String serviceName = "SamplesPreProcessModuleCtrlService"; - - @HardwareServiceParam(name="回零超时时间") - public int getMoveToZeroOvertime() { - // 索引为 "SamplesPreProcessModuleCtrlService" "MoveToZeroOvertime" - return HardwareServiceSetting.getInteger(this.serviceName, "MoveToZeroOvertime", 0); - } - - @HardwareServiceParam(name="执行动作的超时时间") - public int getActionOvertime() { - // 索引为 "SamplesPreProcessModuleCtrlService" "MoveToZeroOvertime" - return HardwareServiceSetting.getInteger(this.serviceName, "ActionOvertime", 0); - } - - @HardwareServiceParam(name="5ML全血试管取试管位置", group="升降电机") - public int getZMotor_HighBloodTakeTubeHeight() { - return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_HighBloodTakeTubeHeight", 0); - } - - @HardwareServiceParam(name="3ML全血试管取试管位置", group="升降电机") - public int getZMotor_ShortBloodTakeTubeHeight() { - return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_ShortBloodTakeTubeHeight", 0); - } - - @HardwareServiceParam(name="5ML全血试管取帽位置", group="升降电机") - public int getZMotor_HighBloodTakeCapHeight() { - return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_HighBloodTakeCapHeight", 0); - } - - @HardwareServiceParam(name="3ML全血试管取帽位置", group="升降电机") - public int getZMotor_ShortBloodTakeCapHeight() { - return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_ShortBloodTakeCapHeight", 0); - } - - @HardwareServiceParam(name="5ML全血试管帽子判断位置", group="升降电机") - public int getZMotor_HighBloodCapJudgeHeight() { - return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_HighBloodCapJudgeHeight", 0); - } - - @HardwareServiceParam(name="3ML全血试管帽子判断位置", group="升降电机") - public int getZMotor_ShortBloodCapJudgeHeight() { - return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_ShortBloodCapJudgeHeight", 0); - } - - @HardwareServiceParam(name="摇匀位放置高度", group="升降电机") - public int getZMotor_placeShakeHeight() { - return HardwareServiceSetting.getInteger(this.serviceName, "ZMotor_placeShakeHeight", 0); - } - - @HardwareServiceParam(name="待机位置", group="水平移动电机") - public int getHorizontalMotor_standbyPos() { - return HardwareServiceSetting.getInteger(this.serviceName, "HorizontalMotor_standbyPos", 0); - } - - @HardwareServiceParam(name="取帽位置", group="水平移动电机") - public int getHorizontalMotor_takeCapPos() { - return HardwareServiceSetting.getInteger(this.serviceName, "HorizontalMotor_takeCapPos", 0); - } - - @HardwareServiceParam(name="放帽位置", group="水平移动电机") - public int getHorizontalMotor_takePushCapPos() { - return HardwareServiceSetting.getInteger(this.serviceName, "HorizontalMotor_takePushCapPos", 0); - } - - @HardwareServiceParam(name="待机位置", group="抓手舵机") - public int getGripperServo_standbyPos() { - return HardwareServiceSetting.getInteger(this.serviceName, "GripperServo_standbyPos", 0); - } - - @HardwareServiceParam(name="取帽扭矩", group="抓手舵机") - public int getGripperServo_takeCapTorque() { - return HardwareServiceSetting.getInteger(this.serviceName, "GripperServo_takeCapTorque", 0); - } - - @HardwareServiceParam(name="取试管位置", group="抓手舵机") - public int getGripperServo_takeTubePos() { - return HardwareServiceSetting.getInteger(this.serviceName, "GripperServo_takeTubePos", 0); - } - - @HardwareServiceParam(name="判断是否有帽子的位置阈值", group="抓手舵机") - public int getGripperServo_hatDeterminesPosThres() { - return HardwareServiceSetting.getInteger(this.serviceName, "GripperServo_hatDeterminesPosThres", 0); - } - - @HardwareServiceParam(name="待机位置", group="摇匀电机") - public int getShakeMotor_standbyPos() { - return HardwareServiceSetting.getInteger(this.serviceName, "ShakeMotor_standbyPos", 0); - } - - @HardwareServiceParam(name="摇匀角度", group="摇匀电机") - public int getShakeMotor_shakeDegree() { - return HardwareServiceSetting.getInteger(this.serviceName, "ShakeMotor_shakeDegree", 0); - } - - @HardwareServiceParam(name="待机位置", group="试管夹紧电机") - public int getTubeClampMotor_standbyPos() { - return HardwareServiceSetting.getInteger(this.serviceName, "TubeClampMotor_standbyPos", 0); - } - - @HardwareServiceParam(name="夹紧位置", group="试管夹紧电机") - public int getTubeClampMotor_ClampPos() { - return HardwareServiceSetting.getInteger(this.serviceName, "TubeClampMotor_ClampPos", 0); - } - - @HardwareServiceParam(name="气溶胶风扇风力大小") - public int getAerosolFanLevel() { - return HardwareServiceSetting.getInteger(this.serviceName, "AerosolFanLevel", 100); - } - - public List listOptions() { - return UfActiveRecord.find(HardwareServiceSetting.class, Map.of("serviceName", this.serviceName)); - } - - public HardwareServiceSetting getOption(String optionName) { - return HardwareServiceSetting.getOption(this.serviceName, optionName); - } -} diff --git a/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java b/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java index 258bf14..79183bb 100644 --- a/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java +++ b/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java @@ -6,6 +6,7 @@ import a8k.appbean.A8kTubeType; import a8k.appbean.HardwareException; import a8k.appbean.ecode.AppRet; import a8k.base_hardware.A8kCanBusService; +import a8k.utils.*; import com.iflytop.uf.util.UfCommon; import jakarta.annotation.Resource; import org.slf4j.Logger; @@ -15,7 +16,9 @@ import org.springframework.stereotype.Component; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -@Controller +@Component +@HardwareService(name = "样本预处理模块") +@HardwareServiceParams(service = SamplesPreProcessModuleCtrlService.class) public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { static Logger logger = LoggerFactory.getLogger(SamplesPreProcessModuleCtrlService.class); @@ -34,6 +37,7 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { // 参数 // + @HardwareServiceParam(name = "动作超时时间", group = "基础参数") public Integer getActionOvertime() { return 5000; } @@ -104,12 +108,11 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { * Overrid *========================================================================================*/ - @PostMapping(value = "/api/SamplesPreProcessModuleCtrlService/modGroupEnable") - @ResponseBody + @HardwareServiceAction(name = "模组使能") @Override - public void modGroupEnable(Boolean enable) throws HardwareException, InterruptedException { + public void modGroupEnable(@HardwareServiceActionParam(name = "使能") Boolean enable) throws HardwareException, InterruptedException { if (enable) { - this.comHardwareOpear.enableAllMotor(); + comHardwareOpear.enableAllMotor(); } else { canBus.stepMotorEnable(MId.ShakeModClampingM, 1); @@ -124,8 +127,6 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { comHardwareOpear.forceStopAllMOtor(); } - @PostMapping(value = "/api/SamplesPreProcessModuleCtrlService/modGroupMoveToZero") - @ResponseBody @Override public void modGroupMoveToZero() throws HardwareException, InterruptedException { // if (!canBus.stepMotorReadIoState(MId.ShakeModGripperZM, 0)) { @@ -187,8 +188,6 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { * @param tubeType HighBlood,ShortBlood,Mini,MiniBlood,BulletTube1P5,BulletTube0P5 * @param actionDealyTime 为true时,为不带试管测试,且步骤之间有1s的动作延迟 */ - @PostMapping(value = "/api/SamplesPreProcessModuleCtrlService/takeTubeAndJudgeTubeExist") - @ResponseBody public AppRet takeTubeAndJudgeTubeExist(@RequestParam String tubeType) throws HardwareException, InterruptedException { logger.info("takeTube tubeType:{}", tubeType); @@ -352,8 +351,6 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { } - @PostMapping(value = "/api/SamplesPreProcessModuleCtrlService/shakeTube") - @ResponseBody public void shakeTube(@RequestParam Integer shakeDegree, @RequestParam Integer times) throws HardwareException, InterruptedException { var standByPos = getShakeModShakeMStandbyPos(); var startPos = standByPos - shakeDegree; @@ -362,8 +359,6 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { canBus.waitForMod(MId.ShakeModShakeM, getActionOvertime()); } - @PostMapping(value = "/api/SamplesPreProcessModuleCtrlService/takeTubeCap") - @ResponseBody public void takeTubeCap() throws HardwareException, InterruptedException { //Y移动到取试管帽位置 logger.info("Y移动到取试管帽位置 && 打开夹爪"); @@ -398,8 +393,6 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { /** * 盖试管帽,并将试管移动回试管架中 */ - @PostMapping(value = "/api/SamplesPreProcessModuleCtrlService/pushBackTubeCapAndTakeBakTube") - @ResponseBody public void pushBackTubeCapAndTakeBakTube(String tubeType) throws HardwareException, InterruptedException { //移动Y轴到取试管帽位置 logger.info("移动Y轴到取试管帽位置"); @@ -431,7 +424,7 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { //移动Z轴到取试管位置 logger.info("移动Z轴到取试管位置"); - canBus.stepMotorEasyMoveTo(MId.ShakeModGripperZM, getGripperTakeHTubeZPos()-20); + canBus.stepMotorEasyMoveTo(MId.ShakeModGripperZM, getGripperTakeHTubeZPos() - 20); canBus.waitForMod(MId.ShakeModGripperZM, getActionOvertime()); actionDelay(); @@ -467,5 +460,13 @@ public class SamplesPreProcessModuleCtrlService implements HardwareCtrlModule { // this.canBus.callcmd(MId.WbTubeFanMod.toInt(), CmdId.fan_controler_set_speed.toInt(), 0); } + @HardwareServiceStatus(name = "A") + public Integer getAerosolFanLevel() { + return 123; + } + @HardwareServiceStatus(name = "B") + public Boolean getBool() { + return true; + } }