From 819276abbee533f5167d17100a480871e0241884 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Tue, 24 Sep 2024 17:39:18 +0800 Subject: [PATCH] update --- app.db | Bin 225280 -> 225280 bytes .../controler/extapi/EngineerPageControler.java | 2 +- .../extapi/pagecontrol/ExtApiTabConfig.java | 3 + .../controler/extapi/utils/EnginnerPageStatu.java | 13 --- .../a8k/controler/extapi/utils/ExtApiStatu.java | 13 +++ src/main/java/a8k/hardware/A8kCanBusService.java | 2 +- .../java/a8k/hardware/A8kModParamInitializer.java | 2 +- .../java/a8k/hardware/A8kPipetteCtrlModule.java | 2 +- .../actionreactor/ActionReactorService.java | 94 ++++++++++++++++++++- .../service/actionreactor/base/ActionFunction.java | 6 -- .../a8k/service/actionreactor/base/ActionItem.java | 7 -- .../a8k/service/actionreactor/base/DoWhatNext.java | 6 ++ .../service/actionreactor/base/FnAnnotation.java | 9 -- .../a8k/service/actionreactor/base/FnParam.java | 9 -- .../service/app/AppDeviceInitializationModule.java | 59 +++++++++++++ .../a8k/service/app/AppProjIDCardMgrService.java | 2 +- .../checkpoint/CheckFn.java | 8 ++ .../checkpoint/CheckPointType.java | 10 +++ .../checkpoint/CheckResult.java | 9 ++ .../checkpoint/Checkpoint.java | 15 ++++ .../calibration/PositionCalibration.java | 10 +-- .../commonctrl/HardwareCommonCtrl.java | 2 +- .../bak_devicectrl/ctrl/HbotControlService.java | 2 +- .../ctrl/ReactionPlatesTransmitCtrl.java | 1 + .../bak_devicectrl/ctrl/SamplesPreProcesCtrl.java | 2 +- .../bak_devicectrl/ctrl/TubeRackMoveCtrl.java | 2 +- .../service/bak_devicectrl/param/DebugParam.java | 4 +- .../bak_devicectrl/status/DeviceStatus.java | 20 ++--- .../bak_devicectrl/testscript/TestScript.java | 2 +- src/main/java/a8k/type/HardwareException.java | 62 -------------- src/main/java/a8k/type/ZFunction.java | 6 ++ src/main/java/a8k/type/appret/AppRet.java | 2 +- .../a8k/type/exception/ActionBreakException.java | 4 + .../java/a8k/type/exception/HardwareException.java | 62 ++++++++++++++ 34 files changed, 317 insertions(+), 135 deletions(-) delete mode 100644 src/main/java/a8k/controler/extapi/utils/EnginnerPageStatu.java create mode 100644 src/main/java/a8k/controler/extapi/utils/ExtApiStatu.java delete mode 100644 src/main/java/a8k/service/actionreactor/base/ActionFunction.java delete mode 100644 src/main/java/a8k/service/actionreactor/base/ActionItem.java create mode 100644 src/main/java/a8k/service/actionreactor/base/DoWhatNext.java delete mode 100644 src/main/java/a8k/service/actionreactor/base/FnAnnotation.java delete mode 100644 src/main/java/a8k/service/actionreactor/base/FnParam.java create mode 100644 src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckFn.java create mode 100644 src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckPointType.java create mode 100644 src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckResult.java create mode 100644 src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/Checkpoint.java delete mode 100644 src/main/java/a8k/type/HardwareException.java create mode 100644 src/main/java/a8k/type/ZFunction.java create mode 100644 src/main/java/a8k/type/exception/ActionBreakException.java create mode 100644 src/main/java/a8k/type/exception/HardwareException.java diff --git a/app.db b/app.db index 16fd3fcee3decdd1dc37de3b2451b4b28309c721..ec8d3c3f967ba2ca99f11456e09707f480ca1b82 100644 GIT binary patch delta 613 zcma)&yGjE=6o&Vb1Y=m&K7z^?+8mgfGgoW`pCP4?*}1%g;Ko9$6#66zK`ea@%e;k! z7S5)y)E$`a`#3+}YFn+g)#E&0KOJ4=>$~OsGJjnbH@BU&o*)JX!YK!wItGR~4-Qef z5S5G^8$%6^k&MTSd9~MCVHHvVq@@~on_S~V1Ve?2=mQd|8?7Qw#%O0SB|M9a0}>>_ zgN&eiH&W8^pj&5@5>1Sb8%oNZqPcGq$iNB8fO{3ddX#`ngtXUj)?%Y&j9QXnXHf10 zQbj;YW`WxvLF+aEmy)FYNlvq3dYY1aX9!`%g<-}+P%Q1D4#DVjNiz`zYGOlRNzqK> zewJmEdY0AC^>zJGKh(3DZ%$7>54!Vmkq?PD>A@lG#y$8)vfpB(9_)scDtmHBpyI4t aO#3eXWvNn+>@fY!^z!TYZS+!nzyAQoW|rRo delta 613 zcma)&ze+BSC& z)XF&NYZG|N$QYyO_h*yw9vg~mkU^nRKvZk6q%_D@)+|(L+q#`v6DbkBEg?BtjVwTM zswbc79TO$YED5=8f|Pz5V<1LRZV?PkI?jQPmVq3m4+igmj6{s8Y0C<|7!*LLBCr-3n1gf%(PC`VMj}w;Tf(w#E=*bh@7pvY6oHrAfUbi^)QX}N39+ep zKg+T~HOi`o>be?L9~D*4>(i6ZgXMWS%Xg7D=z_br>vzFFl>Hj(b;0E>rphk4i=g7H boDDlK|7jT~AK78L>*3|s@mueu_ checkPoints = new ArrayList<>(); + + @Resource + A8kCanBusService canBus; + + @PostConstruct + void init() { + checkPoints.add(new Checkpoint("入料通道是否为空",// + CheckPointType.CheckPlateBoxIsCover, () -> !canBus.getIOState(IOId.THChInterPPS) && !canBus.getIOState(IOId.THChOuterPPS))); + checkPoints.add(new Checkpoint("板夹仓盖子是否盖着",// + CheckPointType.CheckPlateBoxIsCover, () -> canBus.getIOState(IOId.PlateBoxCoverClosurePPS))); + checkPoints.add(new Checkpoint("板夹仓卡板检测",// + CheckPointType.CheckPlateStuckDetectorSensorIsTrigger, () -> !canBus.getIOState(IOId.PlateBoxPlateStuckPPS))); + checkPoints.add(new Checkpoint("检查拉杆电机是否在零点位置",// + CheckPointType.CheckPullerMInZeroPos, () -> canBus.getIOState(IOId.PullerMZeroPPS))); + checkPoints.add(new Checkpoint("检查推杆电机是否在零点位置",// + CheckPointType.CheckPusherMInZeroPos, () -> canBus.getIOState(IOId.PusherMZeroPPS))); + checkPoints.add(new Checkpoint("检查垃圾箱是否满",// + CheckPointType.CheckRecycleBinIsOverflow, () -> !canBus.getIOState(IOId.RecycleBinOverflowPPS))); + + } + + + @ExtApiFn(name = "设备初始化前检查", order = 1) + public List checkBeforeInitDevice() throws HardwareException { + List results = new java.util.ArrayList<>(); + for (Checkpoint checkPoint : checkPoints) { + CheckResult result = new CheckResult(); + result.type = checkPoint.type; + result.typechinfo = checkPoint.typechinfo; + result.pass = checkPoint.checkfn.check(); + results.add(result); + } + return results; + } + + // + @ExtApiFn(name = "设备初始化", order = 1) + void deviceMoveToZero() { + } + + } diff --git a/src/main/java/a8k/service/app/AppProjIDCardMgrService.java b/src/main/java/a8k/service/app/AppProjIDCardMgrService.java index 4632a8f..77d0b45 100644 --- a/src/main/java/a8k/service/app/AppProjIDCardMgrService.java +++ b/src/main/java/a8k/service/app/AppProjIDCardMgrService.java @@ -8,7 +8,7 @@ import a8k.baseservice.appeventbus.AppEventListener; import a8k.dbservice.A8kProjIdCardDBService; import a8k.dbservice.type.A8kProjIdCardDBIterm; import a8k.hardware.type.regindex.RegIndex; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import a8k.type.appret.AppRet; import a8k.baseservice.appeventbus.AppEventBusService; import a8k.hardware.A8kCanBusService; diff --git a/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckFn.java b/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckFn.java new file mode 100644 index 0000000..47c4627 --- /dev/null +++ b/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckFn.java @@ -0,0 +1,8 @@ +package a8k.service.app.app_device_initialization_module.checkpoint; + +import a8k.type.exception.HardwareException; + +@FunctionalInterface +public interface CheckFn { + Boolean check() throws HardwareException; +} diff --git a/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckPointType.java b/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckPointType.java new file mode 100644 index 0000000..a0fa453 --- /dev/null +++ b/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckPointType.java @@ -0,0 +1,10 @@ +package a8k.service.app.app_device_initialization_module.checkpoint; + +public enum CheckPointType { + CheckTubeXChannelIsEmpty,//入料通道是否为空 + CheckPlateBoxIsCover,//板夹仓盖子是否盖着 + CheckPlateStuckDetectorSensorIsTrigger,//板夹仓卡板检测 + CheckPullerMInZeroPos,//检查拉杆电机是否在零点位置 + CheckPusherMInZeroPos,//检查推杆电机是否在零点位置 + CheckRecycleBinIsOverflow,//检查垃圾箱是否满 +} diff --git a/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckResult.java b/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckResult.java new file mode 100644 index 0000000..031672c --- /dev/null +++ b/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/CheckResult.java @@ -0,0 +1,9 @@ +package a8k.service.app.app_device_initialization_module.checkpoint; + +public class CheckResult { + public String typechinfo; + public CheckPointType type; + public Boolean pass; + + +} diff --git a/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/Checkpoint.java b/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/Checkpoint.java new file mode 100644 index 0000000..6b62351 --- /dev/null +++ b/src/main/java/a8k/service/app/app_device_initialization_module/checkpoint/Checkpoint.java @@ -0,0 +1,15 @@ +package a8k.service.app.app_device_initialization_module.checkpoint; + + +public class Checkpoint { + public String typechinfo; + public CheckPointType type; + public CheckFn checkfn; + + public Checkpoint(String typechinfo, CheckPointType type, CheckFn checkfn) { + this.typechinfo = typechinfo; + this.type = type; + this.checkfn = checkfn; + } + +} diff --git a/src/main/java/a8k/service/bak_devicectrl/calibration/PositionCalibration.java b/src/main/java/a8k/service/bak_devicectrl/calibration/PositionCalibration.java index 0047aea..51e85f6 100644 --- a/src/main/java/a8k/service/bak_devicectrl/calibration/PositionCalibration.java +++ b/src/main/java/a8k/service/bak_devicectrl/calibration/PositionCalibration.java @@ -1,7 +1,7 @@ package a8k.service.bak_devicectrl.calibration; import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import a8k.type.appret.AppRet; import a8k.type.cfg.Pos2d; import a8k.controler.extapi.utils.*; @@ -90,26 +90,26 @@ public class PositionCalibration { } - @EnginnerPageStatu(name = "HbotPos", group = "Hbot") + @ExtApiStatu(name = "HbotPos", group = "Hbot") public String getHbotPos() throws HardwareException { Pos2d pos = canBus.hbotReadPos(MId.HbotM); return pos.toString(); } - @EnginnerPageStatu(name = "转盘位置") + @ExtApiStatu(name = "转盘位置") public String getIncubatorRotateCtrlMPos() throws HardwareException { Integer pos = canBus.stepMotorReadPos(MId.IncubatorRotateCtrlM); return pos.toString(); } - @EnginnerPageStatu(name = "抓手Y轴位置", group = "摇匀模组") + @ExtApiStatu(name = "抓手Y轴位置", group = "摇匀模组") public String getShakeModGripperYPos() throws HardwareException { Integer pos = canBus.miniServoReadPos(MId.ShakeModGripperYSV); return pos.toString(); } - @EnginnerPageStatu(name = "抓手位置", group = "摇匀模组") + @ExtApiStatu(name = "抓手位置", group = "摇匀模组") public String getGripperPos() throws HardwareException { Integer pos = canBus.miniServoReadPos(MId.ShakeModGripperSV); return pos.toString(); diff --git a/src/main/java/a8k/service/bak_devicectrl/commonctrl/HardwareCommonCtrl.java b/src/main/java/a8k/service/bak_devicectrl/commonctrl/HardwareCommonCtrl.java index e912db5..c31127f 100644 --- a/src/main/java/a8k/service/bak_devicectrl/commonctrl/HardwareCommonCtrl.java +++ b/src/main/java/a8k/service/bak_devicectrl/commonctrl/HardwareCommonCtrl.java @@ -1,7 +1,7 @@ package a8k.service.bak_devicectrl.commonctrl; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import a8k.type.appret.AppRet; import a8k.controler.extapi.utils.ExtApiTab; import a8k.controler.extapi.utils.ExtApiFn; diff --git a/src/main/java/a8k/service/bak_devicectrl/ctrl/HbotControlService.java b/src/main/java/a8k/service/bak_devicectrl/ctrl/HbotControlService.java index 2b9c64d..3af1325 100644 --- a/src/main/java/a8k/service/bak_devicectrl/ctrl/HbotControlService.java +++ b/src/main/java/a8k/service/bak_devicectrl/ctrl/HbotControlService.java @@ -2,7 +2,7 @@ package a8k.service.bak_devicectrl.ctrl; import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; import a8k.type.ConsumableGroup; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import a8k.type.appret.AppRet; import a8k.type.cfg.*; import a8k.controler.extapi.utils.*; diff --git a/src/main/java/a8k/service/bak_devicectrl/ctrl/ReactionPlatesTransmitCtrl.java b/src/main/java/a8k/service/bak_devicectrl/ctrl/ReactionPlatesTransmitCtrl.java index 9b953c4..b46ba08 100644 --- a/src/main/java/a8k/service/bak_devicectrl/ctrl/ReactionPlatesTransmitCtrl.java +++ b/src/main/java/a8k/service/bak_devicectrl/ctrl/ReactionPlatesTransmitCtrl.java @@ -1,6 +1,7 @@ package a8k.service.bak_devicectrl.ctrl; import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; +import a8k.type.exception.HardwareException; import a8k.utils.opt_algo.A8kOptAlgo; import a8k.type.*; import a8k.type.appret.AppRet; diff --git a/src/main/java/a8k/service/bak_devicectrl/ctrl/SamplesPreProcesCtrl.java b/src/main/java/a8k/service/bak_devicectrl/ctrl/SamplesPreProcesCtrl.java index 67dab49..512c5df 100644 --- a/src/main/java/a8k/service/bak_devicectrl/ctrl/SamplesPreProcesCtrl.java +++ b/src/main/java/a8k/service/bak_devicectrl/ctrl/SamplesPreProcesCtrl.java @@ -1,7 +1,7 @@ package a8k.service.bak_devicectrl.ctrl; import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import a8k.type.appret.AppRet; import a8k.controler.extapi.utils.*; import a8k.hardware.A8kCanBusService; diff --git a/src/main/java/a8k/service/bak_devicectrl/ctrl/TubeRackMoveCtrl.java b/src/main/java/a8k/service/bak_devicectrl/ctrl/TubeRackMoveCtrl.java index 6a86263..90da8eb 100644 --- a/src/main/java/a8k/service/bak_devicectrl/ctrl/TubeRackMoveCtrl.java +++ b/src/main/java/a8k/service/bak_devicectrl/ctrl/TubeRackMoveCtrl.java @@ -1,7 +1,7 @@ package a8k.service.bak_devicectrl.ctrl; import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import a8k.type.TargetPosMeasureDirection; import a8k.type.appret.AppRet; import a8k.controler.extapi.utils.*; diff --git a/src/main/java/a8k/service/bak_devicectrl/param/DebugParam.java b/src/main/java/a8k/service/bak_devicectrl/param/DebugParam.java index b89a946..af152dc 100644 --- a/src/main/java/a8k/service/bak_devicectrl/param/DebugParam.java +++ b/src/main/java/a8k/service/bak_devicectrl/param/DebugParam.java @@ -2,7 +2,7 @@ package a8k.service.bak_devicectrl.param; import a8k.controler.extapi.utils.ExtApiTab; import a8k.controler.extapi.utils.ExtApiFn; -import a8k.controler.extapi.utils.EnginnerPageStatu; +import a8k.controler.extapi.utils.ExtApiStatu; import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; import org.springframework.stereotype.Component; @@ -22,7 +22,7 @@ public class DebugParam { debugMode = false; } - @EnginnerPageStatu(name = "调试模式") + @ExtApiStatu(name = "调试模式") public Boolean getDebugMode() { return debugMode; } diff --git a/src/main/java/a8k/service/bak_devicectrl/status/DeviceStatus.java b/src/main/java/a8k/service/bak_devicectrl/status/DeviceStatus.java index 5a6aca3..236e738 100644 --- a/src/main/java/a8k/service/bak_devicectrl/status/DeviceStatus.java +++ b/src/main/java/a8k/service/bak_devicectrl/status/DeviceStatus.java @@ -1,8 +1,8 @@ package a8k.service.bak_devicectrl.status; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import a8k.controler.extapi.utils.ExtApiTab; -import a8k.controler.extapi.utils.EnginnerPageStatu; +import a8k.controler.extapi.utils.ExtApiStatu; import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; import a8k.hardware.A8kCanBusService; import a8k.hardware.type.a8kcanprotocol.IOId; @@ -33,42 +33,42 @@ public class DeviceStatus { // // 状态 // - @EnginnerPageStatu(name = "试管架存在", group = "进出料光电", order = ORDER.isTubeExist) + @ExtApiStatu(name = "试管架存在", group = "进出料光电", order = ORDER.isTubeExist) public Boolean isTubeExist() throws HardwareException { return canBus.getIOState(IOId.TubeExistPPS); } - @EnginnerPageStatu(name = "入口光电", group = "进出料光电", order = ORDER.isTubeRackInEnterPos) + @ExtApiStatu(name = "入口光电", group = "进出料光电", order = ORDER.isTubeRackInEnterPos) public Boolean isTubeRackInEnterPos() throws HardwareException { return canBus.getIOState(IOId.InfeedPPS); } - @EnginnerPageStatu(name = "出口光电", group = "进出料光电", order = ORDER.isTubeRackInExitPos) + @ExtApiStatu(name = "出口光电", group = "进出料光电", order = ORDER.isTubeRackInExitPos) public Boolean isTubeRackInExitPos() throws HardwareException { return canBus.getIOState(IOId.OutfeedPPS); } - @EnginnerPageStatu(name = "试管高低判读光电", group = "进出料光电", order = ORDER.isHighTube) + @ExtApiStatu(name = "试管高低判读光电", group = "进出料光电", order = ORDER.isHighTube) public Boolean isHighTube() throws HardwareException { return canBus.getIOState(IOId.TubeHeightPPS); } - @EnginnerPageStatu(name = "通道外光电", group = "进出料光电", order = ORDER.getTHchOuterPPS) + @ExtApiStatu(name = "通道外光电", group = "进出料光电", order = ORDER.getTHchOuterPPS) public Boolean getTHchOuterPPS() throws HardwareException { return canBus.getIOState(IOId.THChOuterPPS); } - @EnginnerPageStatu(name = "通道内光电", group = "进出料光电", order = ORDER.getTHchInterPPS) + @ExtApiStatu(name = "通道内光电", group = "进出料光电", order = ORDER.getTHchInterPPS) public Boolean getTHchInterPPS() throws HardwareException { return canBus.getIOState(IOId.THChInterPPS); } - @EnginnerPageStatu(name = "X轴光电➡", group = "HBOT", order = ORDER.getXPPS) + @ExtApiStatu(name = "X轴光电➡", group = "HBOT", order = ORDER.getXPPS) public Boolean getXPPS() throws HardwareException { return canBus.hbotReadInio(MId.HbotM, 0); } - @EnginnerPageStatu(name = "Y轴光电⬇", group = "HBOT", order = ORDER.getYPPS) + @ExtApiStatu(name = "Y轴光电⬇", group = "HBOT", order = ORDER.getYPPS) public Boolean getYPPS() throws HardwareException { return canBus.hbotReadInio(MId.HbotM, 1); } diff --git a/src/main/java/a8k/service/bak_devicectrl/testscript/TestScript.java b/src/main/java/a8k/service/bak_devicectrl/testscript/TestScript.java index 0eb3019..a71fbb9 100644 --- a/src/main/java/a8k/service/bak_devicectrl/testscript/TestScript.java +++ b/src/main/java/a8k/service/bak_devicectrl/testscript/TestScript.java @@ -2,7 +2,7 @@ package a8k.service.bak_devicectrl.testscript; import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; import a8k.type.ConsumableGroup; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import a8k.type.IncubatorPos; import a8k.type.appret.AppRet; import a8k.type.cfg.BottleGroupsPosInfo; diff --git a/src/main/java/a8k/type/HardwareException.java b/src/main/java/a8k/type/HardwareException.java deleted file mode 100644 index a6c5ed7..0000000 --- a/src/main/java/a8k/type/HardwareException.java +++ /dev/null @@ -1,62 +0,0 @@ -package a8k.type; - -import a8k.hardware.type.a8kcanprotocol.CmdId; -import a8k.hardware.type.a8kcanprotocol.MId; - -public class HardwareException extends Exception { - // 构造函数 - - Integer errorCode; - MId moduleId; - CmdId cmdId; - String extmessage; - - public HardwareException() { - super(); - } - - public HardwareException(MId mid, Integer ecode) { - super(String.format("Module ID %s has error code %s", mid, ecode)); - this.errorCode = ecode; - this.moduleId = mid; - this.cmdId = null; - } - - public HardwareException(MId mid, Integer ecode, CmdId cmd) { - super(String.format("Module ID %s has error code %s", mid, ecode)); - this.errorCode = ecode; - this.moduleId = mid; - this.cmdId = cmd; - } - - public HardwareException(Integer ecode, String extmessage) { - super(String.format("Error code %s", ecode)); - this.errorCode = ecode; - this.moduleId = null; - this.cmdId = null; - this.extmessage = extmessage; - } - - public HardwareException(Integer ecode) { - super(String.format("Error code %s", ecode)); - this.errorCode = ecode; - this.moduleId = null; - this.cmdId = null; - } - - public MId getModuleId() { - return moduleId; - } - - public Integer getErrorCode() { - return errorCode; - } - - public CmdId getCmdId() { - return cmdId; - } - - public String getExtMessage() { - return extmessage; - } -} diff --git a/src/main/java/a8k/type/ZFunction.java b/src/main/java/a8k/type/ZFunction.java new file mode 100644 index 0000000..cbbbf7f --- /dev/null +++ b/src/main/java/a8k/type/ZFunction.java @@ -0,0 +1,6 @@ +package a8k.type; + +@FunctionalInterface +public interface ZFunction { + void fn(); +} diff --git a/src/main/java/a8k/type/appret/AppRet.java b/src/main/java/a8k/type/appret/AppRet.java index a5f4819..661c4da 100644 --- a/src/main/java/a8k/type/appret/AppRet.java +++ b/src/main/java/a8k/type/appret/AppRet.java @@ -4,7 +4,7 @@ import a8k.type.ecode.AppRetEcodeInfo; import a8k.hardware.type.a8kcanprotocol.CmdId; import a8k.hardware.type.a8kcanprotocol.MId; import a8k.hardware.type.a8kcanprotocol.A8kEcode; -import a8k.type.HardwareException; +import a8k.type.exception.HardwareException; import lombok.Getter; public class AppRet { diff --git a/src/main/java/a8k/type/exception/ActionBreakException.java b/src/main/java/a8k/type/exception/ActionBreakException.java new file mode 100644 index 0000000..84da98e --- /dev/null +++ b/src/main/java/a8k/type/exception/ActionBreakException.java @@ -0,0 +1,4 @@ +package a8k.type.exception; + +public class ActionBreakException extends Exception { +} diff --git a/src/main/java/a8k/type/exception/HardwareException.java b/src/main/java/a8k/type/exception/HardwareException.java new file mode 100644 index 0000000..ef74c1a --- /dev/null +++ b/src/main/java/a8k/type/exception/HardwareException.java @@ -0,0 +1,62 @@ +package a8k.type.exception; + +import a8k.hardware.type.a8kcanprotocol.CmdId; +import a8k.hardware.type.a8kcanprotocol.MId; + +public class HardwareException extends Exception { + // 构造函数 + + Integer errorCode; + MId moduleId; + CmdId cmdId; + String extmessage; + + public HardwareException() { + super(); + } + + public HardwareException(MId mid, Integer ecode) { + super(String.format("Module ID %s has error code %s", mid, ecode)); + this.errorCode = ecode; + this.moduleId = mid; + this.cmdId = null; + } + + public HardwareException(MId mid, Integer ecode, CmdId cmd) { + super(String.format("Module ID %s has error code %s", mid, ecode)); + this.errorCode = ecode; + this.moduleId = mid; + this.cmdId = cmd; + } + + public HardwareException(Integer ecode, String extmessage) { + super(String.format("Error code %s", ecode)); + this.errorCode = ecode; + this.moduleId = null; + this.cmdId = null; + this.extmessage = extmessage; + } + + public HardwareException(Integer ecode) { + super(String.format("Error code %s", ecode)); + this.errorCode = ecode; + this.moduleId = null; + this.cmdId = null; + } + + public MId getModuleId() { + return moduleId; + } + + public Integer getErrorCode() { + return errorCode; + } + + public CmdId getCmdId() { + return cmdId; + } + + public String getExtMessage() { + return extmessage; + } +}