Browse Source

1. 重构代码调整iflytophald 和 blisclient 相关类的位置,

2. 实现BiLis
master
zhaohe 2 weeks ago
parent
commit
73940a764b
  1. 11
      src/main/java/a8k/app/client/BiLisDoubleTrackTcpClient.java
  2. 2
      src/main/java/a8k/app/client/BiLisSingleTrackTcpClient.java
  3. 4
      src/main/java/a8k/app/config/A8kSubModuleInitRegConfig.java
  4. 6
      src/main/java/a8k/app/config/IflytophaldConnectionConfig.java
  5. 6
      src/main/java/a8k/app/constant/ActionOvertimeConstant.java
  6. 2
      src/main/java/a8k/app/constant/MiniServoConstant.java
  7. 6
      src/main/java/a8k/app/controler/api/v1/app/assistant/ApiRetTestControler.java
  8. 2
      src/main/java/a8k/app/controler/api/v1/app/ctrl/OsCtrlControler.java
  9. 2
      src/main/java/a8k/app/controler/api/v1/app/data/A8kProjectCardControler.java
  10. 2
      src/main/java/a8k/app/controler/api/v1/app/data/UsrControler.java
  11. 1
      src/main/java/a8k/app/controler/api/v1/app/ws/AppStateWebsocketEndpoint.java
  12. 32
      src/main/java/a8k/app/controler/api/v1/app/ws/AppWebSocketEndpointMgr.java
  13. 2
      src/main/java/a8k/app/controler/api/v1/engineer/LiquidAbsorptionAndDistributionTestControler.java
  14. 2
      src/main/java/a8k/app/dao/A8kProjExtInfoCardDao.java
  15. 3
      src/main/java/a8k/app/dao/SubModuleConfigDao.java
  16. 4
      src/main/java/a8k/app/dao/SubModuleRegInitialValueDao.java
  17. 5
      src/main/java/a8k/app/dao/type/db/SubModuleConfigValue.java
  18. 4
      src/main/java/a8k/app/dao/type/db/SubModuleRegInitialValue.java
  19. 4
      src/main/java/a8k/app/factory/A8kPacketFactory.java
  20. 14
      src/main/java/a8k/app/factory/BiLisDoubleTrackFrameFactory.java
  21. 6
      src/main/java/a8k/app/factory/FakeAppErrorFactory.java
  22. 8
      src/main/java/a8k/app/i18n/Internationalization.java
  23. 6
      src/main/java/a8k/app/iflytophald/A8kChannelStateMgr.java
  24. 9
      src/main/java/a8k/app/iflytophald/channel/A8kCanBusCommunicationChannel.java
  25. 18
      src/main/java/a8k/app/iflytophald/channel/LisUartCommunicationChannel.java
  26. 12
      src/main/java/a8k/app/iflytophald/channel/PrinterUartCommunicationChannel.java
  27. 10
      src/main/java/a8k/app/iflytophald/driver/A8kCanBusBaseDriver.java
  28. 11
      src/main/java/a8k/app/iflytophald/driver/CodeScanerDriver.java
  29. 11
      src/main/java/a8k/app/iflytophald/driver/HbotDriver.java
  30. 17
      src/main/java/a8k/app/iflytophald/driver/InputDetectDriver.java
  31. 8
      src/main/java/a8k/app/iflytophald/driver/MiniServoDriver.java
  32. 11
      src/main/java/a8k/app/iflytophald/driver/ModuleEnableCtrlDriver.java
  33. 15
      src/main/java/a8k/app/iflytophald/driver/OptModuleDriver.java
  34. 11
      src/main/java/a8k/app/iflytophald/driver/OutputIOCtrlDriver.java
  35. 34
      src/main/java/a8k/app/iflytophald/driver/PipetteCtrlDriverV2.java
  36. 9
      src/main/java/a8k/app/iflytophald/driver/StepMotorCtrlDriver.java
  37. 11
      src/main/java/a8k/app/iflytophald/driver/WaterTemperatureControllerDriver.java
  38. 2
      src/main/java/a8k/app/iflytophald/type/channelctrl/IflytophaldResponse.java
  39. 8
      src/main/java/a8k/app/iflytophald/type/protocol/A8kEcode.java
  40. 2
      src/main/java/a8k/app/iflytophald/type/protocol/A8kPacket.java
  41. 2
      src/main/java/a8k/app/iflytophald/type/protocol/CmdId.java
  42. 2
      src/main/java/a8k/app/iflytophald/type/protocol/HbotRegIndex.java
  43. 2
      src/main/java/a8k/app/iflytophald/type/protocol/InputIOId.java
  44. 2
      src/main/java/a8k/app/iflytophald/type/protocol/LldType.java
  45. 2
      src/main/java/a8k/app/iflytophald/type/protocol/MId.java
  46. 2
      src/main/java/a8k/app/iflytophald/type/protocol/MiniServoMId.java
  47. 2
      src/main/java/a8k/app/iflytophald/type/protocol/MiniServoRegIndex.java
  48. 2
      src/main/java/a8k/app/iflytophald/type/protocol/ModuleStatus.java
  49. 2
      src/main/java/a8k/app/iflytophald/type/protocol/ModuleType.java
  50. 2
      src/main/java/a8k/app/iflytophald/type/protocol/OptModuleRegIndex.java
  51. 2
      src/main/java/a8k/app/iflytophald/type/protocol/OutputIOId.java
  52. 2
      src/main/java/a8k/app/iflytophald/type/protocol/PipetteRegIndex.java
  53. 2
      src/main/java/a8k/app/iflytophald/type/protocol/RegIndex.java
  54. 2
      src/main/java/a8k/app/iflytophald/type/protocol/StepMotorMId.java
  55. 2
      src/main/java/a8k/app/iflytophald/type/protocol/StepMotorRegIndex.java
  56. 2
      src/main/java/a8k/app/iflytophald/type/protocol/StepMotorSpeedLevel.java
  57. 2
      src/main/java/a8k/app/iflytophald/type/protocol/TemperatureControlerMid.java
  58. 2
      src/main/java/a8k/app/iflytophald/type/protocol/TemperatureControlerRegIndex.java
  59. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/AspirationParamId.java
  60. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/DistribuAllParamId.java
  61. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/DistribuType.java
  62. 6
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/PipetteConfig.java
  63. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/PipetteStateIndex.java
  64. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/TipType.java
  65. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/ContainerInfoIndex.java
  66. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/LiquidInfoIndex.java
  67. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/PMBasicConfigIndex.java
  68. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/PMVConfigIndex.java
  69. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/PipetteCommonConfigIndex.java
  70. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/PlatformInfoIndex.java
  71. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/ZMBasicConfigIndex.java
  72. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/ZMVConfigIndex.java
  73. 4
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteCommonConfig.java
  74. 4
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteContainerInfo.java
  75. 4
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteLiquidInfo.java
  76. 4
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipettePMVCfg.java
  77. 4
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipettePlatInfo.java
  78. 4
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteZMBCfg.java
  79. 4
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteZMVCfg.java
  80. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/ContainerCpyId.java
  81. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/LiquidConfigCpyIdx.java
  82. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/PMVCpyIdx.java
  83. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/PlatInfoCpyIdx.java
  84. 2
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/ZMVCpyIdx.java
  85. 8
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/param/AspirationParam.java
  86. 10
      src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/param/DistribuAllParam.java
  87. 10
      src/main/java/a8k/app/iflytophald/utils/IflytophaldChannelCtrlRequester.java
  88. 2
      src/main/java/a8k/app/iflytophald/utils/OptGainConvert.java
  89. 2
      src/main/java/a8k/app/service/analyzer/A8kEcodeAnalyzer.java
  90. 2
      src/main/java/a8k/app/service/analyzer/A8kIdCardDataParseService.java
  91. 12
      src/main/java/a8k/app/service/appsetup/A8kSubModuleRegInitService.java
  92. 14
      src/main/java/a8k/app/service/background/ProjIDCardCtrlAndMonitorService.java
  93. 16
      src/main/java/a8k/app/service/background/SensorDataUpdateService.java
  94. 4
      src/main/java/a8k/app/service/background/TemperatureCtrlService.java
  95. 4
      src/main/java/a8k/app/service/ctrlmodule/TipOperationCtrlModule.java
  96. 5
      src/main/java/a8k/app/service/data/AppUserMgrService.java
  97. 2
      src/main/java/a8k/app/service/data/ProjIdCardInfoMgrService.java
  98. 2
      src/main/java/a8k/app/service/data/ProjInfoMgrService.java
  99. 8
      src/main/java/a8k/app/service/data/SubModuleConfigService.java
  100. 12
      src/main/java/a8k/app/service/data/SubModuleRegInitialValueMgrService.java

11
src/main/java/a8k/app/channel/net/BiLisDoubleTrackTcpClient.java → src/main/java/a8k/app/client/BiLisDoubleTrackTcpClient.java

@ -1,4 +1,4 @@
package a8k.app.channel.net;
package a8k.app.client;
import a8k.app.type.lisprotocol.BiLisDoubleTrackFrame;
import a8k.app.utils.ByteArrayUtils;
@ -41,7 +41,7 @@ public class BiLisDoubleTrackTcpClient extends ChannelInboundHandlerAdapter {
private volatile boolean isShuttingDown = false;
private final ByteBuf rxBuffer = Unpooled.buffer(rxBufferSize); // 接收数据缓冲区初始大小为1024字节
private OnDataReceivedListener onDataReceivedListener;
private OnLostConnectionListener onLostConnectionListener;
//
// External API
@ -121,9 +121,6 @@ public class BiLisDoubleTrackTcpClient extends ChannelInboundHandlerAdapter {
this.onDataReceivedListener = listener;
}
public synchronized void regOnLostConnectionListener(OnLostConnectionListener listener) {
this.onLostConnectionListener = listener;
}
public synchronized boolean isConnected() {
return channel != null && channel.isActive();
@ -196,13 +193,13 @@ public class BiLisDoubleTrackTcpClient extends ChannelInboundHandlerAdapter {
if (isShuttingDown) {
return;
}
log.info("try connect to {}:{}", serverIp, port);
log.warn("try connect to {}:{}", serverIp, port);
bootstrap.connect(serverIp, port).addListener((ChannelFuture future) -> {
if (future.isSuccess()) {
log.info("successfully connected to {}:{}", serverIp, port);
channel = future.channel();
} else {
log.error("failed,{}", future.cause().getMessage());
log.warn("failed,{}", future.cause().getMessage());
if (!isShuttingDown)
group.schedule(this::doConnect, reconnectDelay, TimeUnit.SECONDS);
}

2
src/main/java/a8k/app/channel/net/BiLisSingleTrackTcpClient.java → src/main/java/a8k/app/client/BiLisSingleTrackTcpClient.java

@ -1,4 +1,4 @@
package a8k.app.channel.net;
package a8k.app.client;
import a8k.app.utils.NettyUtils;
import io.netty.bootstrap.Bootstrap;

4
src/main/java/a8k/app/config/A8kSubModuleInitRegConfig.java

@ -1,7 +1,7 @@
package a8k.app.config;
import a8k.app.channel.iflytophald.type.protocol.ModuleType;
import a8k.app.channel.iflytophald.type.protocol.RegIndex;
import a8k.app.iflytophald.type.protocol.ModuleType;
import a8k.app.iflytophald.type.protocol.RegIndex;
import a8k.app.utils.ZList;
import jakarta.annotation.PostConstruct;
import org.springframework.stereotype.Component;

6
src/main/java/a8k/app/config/IflytophaldConnectionConfig.java

@ -1,6 +1,6 @@
package a8k.app.config;
import a8k.app.channel.iflytophald.channel.A8kCanBusConnection;
import a8k.app.iflytophald.channel.A8kCanBusCommunicationChannel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -26,7 +26,7 @@ public class IflytophaldConnectionConfig {
}
@Bean
A8kCanBusConnection a8kCanBusBaseService() {
return new A8kCanBusConnection(getCmdChBaseUrl("zexcan"), getDatachUrl("zexcan"));
A8kCanBusCommunicationChannel a8kCanBusBaseService() {
return new A8kCanBusCommunicationChannel(getCmdChBaseUrl("zexcan"), getDatachUrl("zexcan"));
}
}

6
src/main/java/a8k/app/constant/ActionOvertimeConstant.java

@ -1,8 +1,8 @@
package a8k.app.constant;
import a8k.app.channel.iflytophald.type.protocol.StepMotorMId;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.StepMotorMId;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.MId;
import jakarta.annotation.PostConstruct;
import org.springframework.stereotype.Component;

2
src/main/java/a8k/app/constant/MiniServoConstant.java

@ -1,6 +1,6 @@
package a8k.app.constant;
import a8k.app.channel.iflytophald.type.protocol.MiniServoMId;
import a8k.app.iflytophald.type.protocol.MiniServoMId;
import org.springframework.util.Assert;
import java.util.Map;

6
src/main/java/a8k/app/controler/api/v1/app/assistant/ApiRetTestControler.java

@ -1,8 +1,8 @@
package a8k.app.controler.api.v1.app.assistant;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.type.exception.AppException;
import a8k.app.type.ui.ApiRet;
import a8k.app.type.error.*;

2
src/main/java/a8k/app/controler/api/v1/app/ctrl/OsCtrlControler.java

@ -4,7 +4,7 @@ import a8k.OS;
import a8k.app.service.os.OSBeepCtrlService;
import a8k.app.service.os.OSDeviceInfoMgrService;
import a8k.app.type.exception.AppException;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.service.statemgr.DeviceWorkStateMgrService;
import a8k.app.service.statemgr.GStateMgrService;
import a8k.app.type.ui.ApiRet;

2
src/main/java/a8k/app/controler/api/v1/app/data/A8kProjectCardControler.java

@ -1,6 +1,6 @@
package a8k.app.controler.api.v1.app.data;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.service.background.ProjIDCardCtrlAndMonitorService;
import a8k.app.service.data.ProjIdCardInfoMgrService;
import a8k.app.service.statemgr.GStateMgrService;

2
src/main/java/a8k/app/controler/api/v1/app/data/UsrControler.java

@ -1,6 +1,6 @@
package a8k.app.controler.api.v1.app.data;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.service.data.AppUserMgrService;
import a8k.app.dao.type.db.AppUser;
import a8k.app.type.exception.AppException;

1
src/main/java/a8k/app/controler/api/v1/app/ws/AppStateWebsocketEndpoint.java

@ -32,7 +32,6 @@ public class AppStateWebsocketEndpoint {
// 保存 session 到对象
this.session = session;
SpringBootBeanUtil.getBean(AppWebSocketEndpointMgr.class).pushStateWebsocketSession(session);
log.info("[websocket] 新的连接:id={}", this.session.getId());
}
// 连接关闭

32
src/main/java/a8k/app/controler/api/v1/app/ws/AppWebSocketEndpointMgr.java

@ -36,10 +36,10 @@ public class AppWebSocketEndpointMgr {
public static class Report {
public String messageType = "Report";
public String dataType;
public Object data;
public Long timestamp = (System.currentTimeMillis());
public String messageType = "Report";
public String dataType;
public Object data;
public Long timestamp = (System.currentTimeMillis());
public Report(String dataType, Object object) {
this.dataType = dataType;
@ -189,23 +189,15 @@ public class AppWebSocketEndpointMgr {
}
public void quickReportStateSchedule(boolean force) {
reportState("ConsumablesState", consumablesMgrService.getStateVersion(), force,
consumablesMgrService::getState);
reportState("EngineerModeState", engineerModeStateMgrService.getVersion(), force,
engineerModeStateMgrService::getState);
reportState("DeviceWorkState", deviceWorkStateMgrService.getVersion(), force,
deviceWorkStateMgrService::getDeviceWorkState);
reportState("OptScanModuleState", optScanModuleStateMgr.getStateVersion(), force,
optScanModuleStateMgr::getOptScanModule);
reportState("TubeHolderSetting", tubeHolderSettingMgrService.getTubeHolderSettingVersion(), force,
tubeHolderSettingMgrService::getTubeHolderSettings);
reportState("AppFlagStateList", appFlagStateMgrService.getStateVersion(), force,
appFlagStateMgrService::getFlagState);
reportState("MessageBoxState", frontEndMessageBoxAndEventMgr.getMessageBoxStateVersion(), force,
frontEndMessageBoxAndEventMgr::getMessageBoxState);
reportState("ConsumablesState", consumablesMgrService.getStateVersion(), force, consumablesMgrService::getState);
reportState("EngineerModeState", engineerModeStateMgrService.getVersion(), force, engineerModeStateMgrService::getState);
reportState("DeviceWorkState", deviceWorkStateMgrService.getVersion(), force, deviceWorkStateMgrService::getDeviceWorkState);
reportState("OptScanModuleState", optScanModuleStateMgr.getStateVersion(), force, optScanModuleStateMgr::getOptScanModule);
reportState("TubeHolderSetting", tubeHolderSettingMgrService.getTubeHolderSettingVersion(), force, tubeHolderSettingMgrService::getTubeHolderSettings);
reportState("AppFlagStateList", appFlagStateMgrService.getStateVersion(), force, appFlagStateMgrService::getFlagState);
reportState("MessageBoxState", frontEndMessageBoxAndEventMgr.getMessageBoxStateVersion(), force, frontEndMessageBoxAndEventMgr::getMessageBoxState);
reportState("TubeHolderState", tubeStateMgrService.getVersion(), force, tubeStateMgrService::getTubeHolderState);
reportState("EmergencyPosState", tubeStateMgrService.getVersion(), force, tubeStateMgrService::getEmergencyPosRunState);

2
src/main/java/a8k/app/controler/api/v1/engineer/LiquidAbsorptionAndDistributionTestControler.java

@ -2,7 +2,7 @@ package a8k.app.controler.api.v1.engineer;
import a8k.app.service.engineer.qatest.LiquidAbsorptionAndDistributionTestService;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.type.exception.AppException;
import a8k.app.type.ui.ApiRet;
import io.swagger.v3.oas.annotations.Operation;

2
src/main/java/a8k/app/dao/A8kProjExtInfoCardDao.java

@ -3,7 +3,7 @@ package a8k.app.dao;
import a8k.app.dao.type.common.CommonPage;
import a8k.app.type.exception.AppException;
import a8k.app.dao.type.db.ProjExtInfoCard;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.service.data.UtilsProjectColorAllocer;
import a8k.app.utils.ZSqlite;
import jakarta.annotation.PostConstruct;

3
src/main/java/a8k/app/dao/SubModuleConfigDao.java

@ -1,8 +1,7 @@
package a8k.app.dao;
import a8k.app.dao.type.db.SubModuleConfigValue;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.RegIndex;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.utils.ZSqlite;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;

4
src/main/java/a8k/app/dao/SubModuleRegInitialValueDao.java

@ -1,8 +1,8 @@
package a8k.app.dao;
import a8k.app.dao.type.db.SubModuleRegInitialValue;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.RegIndex;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.RegIndex;
import a8k.app.utils.ZSqlite;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;

5
src/main/java/a8k/app/dao/type/db/SubModuleConfigValue.java

@ -1,8 +1,7 @@
package a8k.app.dao.type.db;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.ModuleType;
import a8k.app.channel.iflytophald.type.protocol.RegIndex;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.ModuleType;
import java.io.Serializable;

4
src/main/java/a8k/app/dao/type/db/SubModuleRegInitialValue.java

@ -1,7 +1,7 @@
package a8k.app.dao.type.db;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.RegIndex;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.RegIndex;
import java.io.Serializable;

4
src/main/java/a8k/app/factory/A8kPacketFactory.java

@ -1,7 +1,7 @@
package a8k.app.factory;
import a8k.app.channel.iflytophald.type.protocol.A8kPacket;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.A8kPacket;
import a8k.app.iflytophald.type.protocol.CmdId;
import java.util.List;

14
src/main/java/a8k/app/factory/BiLisDoubleTrackFrameFactory.java

@ -2,6 +2,8 @@ package a8k.app.factory;
import a8k.app.constant.AppConstant;
import a8k.app.dao.type.db.ReactionRecord;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.type.exception.AppException;
import a8k.app.type.lisprotocol.BiLisDoubleTrackFrame;
import a8k.app.type.lisprotocol.BiLisDoubleTrackFrameBuildContext;
import a8k.app.type.lisprotocol.BiLisFrameParseErrorCode;
@ -19,7 +21,7 @@ import java.lang.reflect.Field;
@Slf4j
public class BiLisDoubleTrackFrameFactory {
//
static public BiLisDoubleTrackFrameBuildContext createRFrame(ReactionRecord reactionRecord, Integer subProjIndex) {
static public BiLisDoubleTrackFrameBuildContext createRFrame(ReactionRecord reactionRecord, Integer subProjIndex) throws AppException {
//R|A10|123456789|^PCT/CRP^CRP^#|46|mg/L|0.5-200||L_1^_03|F||||20141201144906||0|<CR>
BiLisDoubleTrackFrameBuildContext buildContext = new BiLisDoubleTrackFrameBuildContext();
@ -80,7 +82,7 @@ public class BiLisDoubleTrackFrameFactory {
}
static public BiLisDoubleTrackFrameBuildContext createQFrameBytes(String deviceName, String barcode) {
static public BiLisDoubleTrackFrameBuildContext createQFrameBytes(String deviceName, String barcode) throws AppException {
BiLisDoubleTrackFrameBuildContext context = new BiLisDoubleTrackFrameBuildContext();
BiLisDoubleTrackFrame frame = new BiLisDoubleTrackFrame();
@ -144,7 +146,7 @@ public class BiLisDoubleTrackFrameFactory {
char[] checkcode = computeChecksum(cmdContent);
if (!isCheckcodeEq(c1,c2,checkcode)) {
if (!isCheckcodeEq(c1, c2, checkcode)) {
log.warn("Received frame has invalid checksum: {}, {} !={} {}", c1, c2, checkcode[0], checkcode[1]);
throw new BiLisFrameParseException(BiLisFrameParseErrorCode.ChecksumError, "rx checksum error: " + c1 + ", " + c2);
}
@ -183,14 +185,14 @@ public class BiLisDoubleTrackFrameFactory {
}
static public void serialize(BiLisDoubleTrackFrameBuildContext buildContext, BiLisDoubleTrackFrame frame) {
static public void serialize(BiLisDoubleTrackFrameBuildContext buildContext, BiLisDoubleTrackFrame frame) throws AppException {
/*
* Frame Structure:
* STX,FN,Content,ETX,C1,C2,CR,LF
*/
if (frame.frameType != BiLisDoubleTrackFrame.STX) {
log.warn("Frame type is not STX, cannot serialize: {}", frame.frameType);
buildContext.buildSuccess = false;
throw AppException.of(A8kEcode.CODEERROR, "Frame type is not STX, cannot serialize: %s", frame.frameType);
}
if ((frame.frameContent instanceof QFrame
@ -201,7 +203,7 @@ public class BiLisDoubleTrackFrameFactory {
createBiLisDoubleTrackFrame(buildContext, content);
} else {
log.warn("Unsupported frame content type: {}", frame.frameContent.getClass().getSimpleName());
buildContext.buildSuccess = false;
throw AppException.of(A8kEcode.CODEERROR, "Unsupported frame content type: %s", frame.frameContent.getClass().getSimpleName());
}
}

6
src/main/java/a8k/app/factory/FakeAppErrorFactory.java

@ -1,8 +1,8 @@
package a8k.app.factory;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.service.analyzer.ConsumableStateAnalyzerService;
import a8k.app.type.error.AEConsumeNotEnoughError;
import a8k.app.type.error.AEHardwareError;

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

@ -1,11 +1,11 @@
package a8k.app.i18n;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.optalgo.type.ReactionResultStatus;
import a8k.app.type.AppFlagKey;
import a8k.app.type.a8k.BloodType;
import a8k.app.type.error.ConsumablesScanReportErrorType;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
public class Internationalization {
public static String A8kEcode2String(A8kEcode ecode) {
@ -84,6 +84,10 @@ public class Internationalization {
case APPE_WAST_BIN_IS_FULL -> "废料箱已满";
case SYS_CMD_EXEC_OVERTIME -> "系统指令超时";
case NETWORK_PARAMETER_ERROR -> "网络参数错误";
case LIS_LOST_CONNECTION -> "LIS断开连接";
case LIS_REPORT_RECORD_FAIL -> "LIS上报记录失败";
case LIS_REQUEST_SAMPLE_INFO_FAIL -> "LIS请求样本信息失败";
case LIS_REQUEST_SAMPLE_INFO_PARSE_RESPONSE_FAIL -> "LIS请求样本信息解析响应失败";
default -> ecode.toString();
};
}

6
src/main/java/a8k/app/channel/iflytophald/A8kChannelStateMgr.java → src/main/java/a8k/app/iflytophald/A8kChannelStateMgr.java

@ -1,6 +1,6 @@
package a8k.app.channel.iflytophald;
package a8k.app.iflytophald;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.iflytophald.driver.A8kCanBusBaseDriver;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
@Slf4j
@RequiredArgsConstructor
public class A8kChannelStateMgr {
private final A8kCanBusService canBus;
private final A8kCanBusBaseDriver canBus;
public Boolean isCanBusConnected() {

9
src/main/java/a8k/app/channel/iflytophald/channel/A8kCanBusConnection.java → src/main/java/a8k/app/iflytophald/channel/A8kCanBusCommunicationChannel.java

@ -1,7 +1,8 @@
package a8k.app.channel.iflytophald.channel;
package a8k.app.iflytophald.channel;
import a8k.OS;
import a8k.app.channel.iflytophald.type.protocol.*;
import a8k.app.client.iflytophald.type.protocol.*;
import a8k.app.iflytophald.type.protocol.*;
import a8k.app.type.appevent.A8kCanBusOnConnectEvent;
import a8k.app.type.appevent.A8kHardwareReport;
import a8k.app.type.error.AEHardwareError;
@ -31,7 +32,7 @@ import java.util.concurrent.TimeUnit;
@Slf4j
public class A8kCanBusConnection extends WebSocketClient {
public class A8kCanBusCommunicationChannel extends WebSocketClient {
@Resource
AppEventBusService eventBus;
@ -117,7 +118,7 @@ public class A8kCanBusConnection extends WebSocketClient {
int packetIndex = 0;//发送包的packetIndex
public A8kCanBusConnection(String cmdchurl, String datachurl) {
public A8kCanBusCommunicationChannel(String cmdchurl, String datachurl) {
super(URI.create(datachurl));
log.info("new A8kCanBusConnection: {} {}", cmdchurl, datachurl);

18
src/main/java/a8k/app/channel/iflytophald/channel/LisUartChannel.java → src/main/java/a8k/app/iflytophald/channel/LisUartCommunicationChannel.java

@ -1,7 +1,7 @@
package a8k.app.channel.iflytophald.channel;
package a8k.app.iflytophald.channel;
import a8k.app.config.IflytophaldConnectionConfig;
import a8k.app.channel.iflytophald.channelctrl.IflytophaldChannelCtrl;
import a8k.app.iflytophald.utils.IflytophaldChannelCtrlRequester;
import a8k.app.utils.ByteArrayUtils;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
@ -21,7 +21,7 @@ import java.nio.ByteBuffer;
@Slf4j
@Component
@RequiredArgsConstructor
public class LisUartChannel {
public class LisUartCommunicationChannel {
@Value("${iflytophald.enable}")
Boolean iflytophaldEnable;
@ -30,8 +30,8 @@ public class LisUartChannel {
private final String channelName = "lis";
private final String charsetName = "UTF-8";
private final IflytophaldConnectionConfig config;
private final IflytophaldChannelCtrl cmdSender;
private final IflytophaldConnectionConfig config;
private final IflytophaldChannelCtrlRequester cmdSender;
private OnMessageListener onMessageListener;
private WebSocketClient conn;
@ -146,7 +146,7 @@ public class LisUartChannel {
conn = new WebSocketClient(URI.create(url)) {
@Override
public void onOpen(ServerHandshake serverHandshake) {
LisUartChannel.this.onOpen(serverHandshake);
LisUartCommunicationChannel.this.onOpen(serverHandshake);
}
@Override
@ -156,17 +156,17 @@ public class LisUartChannel {
@Override
public void onClose(int i, String s, boolean b) {
LisUartChannel.this.onClose(i, s, b);
LisUartCommunicationChannel.this.onClose(i, s, b);
}
@Override
public void onError(Exception e) {
LisUartChannel.this.onError(e);
LisUartCommunicationChannel.this.onError(e);
}
@Override
public void onMessage(ByteBuffer bytes) {
LisUartChannel.this.onMessage(bytes);
LisUartCommunicationChannel.this.onMessage(bytes);
}
};
conn.connect();

12
src/main/java/a8k/app/channel/iflytophald/channel/PrinterUartChannel.java → src/main/java/a8k/app/iflytophald/channel/PrinterUartCommunicationChannel.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.channel;
package a8k.app.iflytophald.channel;
import a8k.app.config.IflytophaldConnectionConfig;
import jakarta.annotation.PostConstruct;
@ -20,7 +20,7 @@ import java.util.Queue;
@Slf4j
@Component
@RequiredArgsConstructor
public class PrinterUartChannel {
public class PrinterUartCommunicationChannel {
@Value("${iflytophald.enable}")
Boolean iflytophaldEnable;
@ -36,22 +36,22 @@ public class PrinterUartChannel {
conn = new WebSocketClient(URI.create(url)) {
@Override
public void onOpen(ServerHandshake serverHandshake) {
PrinterUartChannel.this.onOpen(serverHandshake);
PrinterUartCommunicationChannel.this.onOpen(serverHandshake);
}
@Override
public void onMessage(String s) {
PrinterUartChannel.this.onMessage(s);
PrinterUartCommunicationChannel.this.onMessage(s);
}
@Override
public void onClose(int i, String s, boolean b) {
PrinterUartChannel.this.onClose(i, s, b);
PrinterUartCommunicationChannel.this.onClose(i, s, b);
}
@Override
public void onError(Exception e) {
PrinterUartChannel.this.onError(e);
PrinterUartCommunicationChannel.this.onError(e);
}
};
conn.connect();

10
src/main/java/a8k/app/channel/iflytophald/channel/A8kCanBusService.java → src/main/java/a8k/app/iflytophald/driver/A8kCanBusBaseDriver.java

@ -1,6 +1,8 @@
package a8k.app.channel.iflytophald.channel;
package a8k.app.iflytophald.driver;
import a8k.app.channel.iflytophald.type.protocol.*;
import a8k.app.iflytophald.channel.A8kCanBusCommunicationChannel;
import a8k.app.client.iflytophald.type.protocol.*;
import a8k.app.iflytophald.type.protocol.*;
import a8k.app.type.error.AEHardwareError;
import a8k.app.type.exception.AppException;
import a8k.OS;
@ -15,9 +17,9 @@ import java.net.URISyntaxException;
@Component
@Slf4j
public class A8kCanBusService {
public class A8kCanBusBaseDriver {
@Resource
A8kCanBusConnection connection;
A8kCanBusCommunicationChannel connection;
@Value("${iflytophald.enable}")

11
src/main/java/a8k/app/channel/iflytophald/driver/CodeScanerDriver.java → src/main/java/a8k/app/iflytophald/driver/CodeScanerDriver.java

@ -1,10 +1,9 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.OS;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.A8kPacket;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.A8kPacket;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.type.exception.AppException;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
@ -13,7 +12,7 @@ import org.springframework.stereotype.Component;
public class CodeScanerDriver {
@Resource
A8kCanBusService canBus;
A8kCanBusBaseDriver canBus;
public String pipetteModCodeScannerScanCode(Integer overtime) throws AppException {
try {

11
src/main/java/a8k/app/channel/iflytophald/driver/HbotDriver.java → src/main/java/a8k/app/iflytophald/driver/HbotDriver.java

@ -1,9 +1,8 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.HbotRegIndex;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.HbotRegIndex;
import a8k.app.type.a8k.Pos2d;
import a8k.app.type.exception.AppException;
import jakarta.annotation.Resource;
@ -13,7 +12,7 @@ import org.springframework.stereotype.Component;
public class HbotDriver {
@Resource
A8kCanBusService canBus;
A8kCanBusBaseDriver canBus;
Integer actionOvertime = 10000;
Integer moveToZeroActionOvertime = 20000;

17
src/main/java/a8k/app/channel/iflytophald/driver/InputDetectDriver.java → src/main/java/a8k/app/iflytophald/driver/InputDetectDriver.java

@ -1,11 +1,10 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.app.type.error.AECodeError;
import a8k.app.type.exception.AppException;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.InputIOId;
import a8k.app.channel.iflytophald.type.protocol.ModuleType;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.InputIOId;
import a8k.app.iflytophald.type.protocol.ModuleType;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -15,7 +14,7 @@ import org.springframework.stereotype.Component;
@Slf4j
public class InputDetectDriver {
private final A8kCanBusService a8kCanBusService;
private final A8kCanBusBaseDriver a8KCanBusBaseDriver;
public Boolean getIOState(InputIOId ioid) throws AppException {
while (true) {
@ -39,11 +38,11 @@ public class InputDetectDriver {
private Boolean priGetIOState(InputIOId ioid, long overtime) throws AppException {
if (ioid.mtype == ModuleType.Board) {
return a8kCanBusService.callcmd(ioid.mid, CmdId.extboard_read_inio, overtime, ioid.ioIndex).getContentI32(0) != 0;
return a8KCanBusBaseDriver.callcmd(ioid.mid, CmdId.extboard_read_inio, overtime, ioid.ioIndex).getContentI32(0) != 0;
} else if (ioid.mtype == ModuleType.TMCStepMotor) {
return a8kCanBusService.callcmd(ioid.mid, CmdId.step_motor_read_io_state, overtime, ioid.ioIndex).getContentI32(0) != 0;
return a8KCanBusBaseDriver.callcmd(ioid.mid, CmdId.step_motor_read_io_state, overtime, ioid.ioIndex).getContentI32(0) != 0;
} else if (ioid.mtype == ModuleType.MiniServo) {
return a8kCanBusService.callcmd(ioid.mid, CmdId.mini_servo_read_io_state, overtime, ioid.ioIndex).getContentI32(0) != 0;
return a8KCanBusBaseDriver.callcmd(ioid.mid, CmdId.mini_servo_read_io_state, overtime, ioid.ioIndex).getContentI32(0) != 0;
} else {
throw new AppException(new AECodeError(String.format("IOID MODULE TYPE %s NOT SUPPORT", ioid.mtype)));
}

8
src/main/java/a8k/app/channel/iflytophald/driver/MiniServoDriver.java → src/main/java/a8k/app/iflytophald/driver/MiniServoDriver.java

@ -1,9 +1,9 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.OS;
import a8k.app.constant.MiniServoConstant;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.*;
import a8k.app.client.iflytophald.type.protocol.*;
import a8k.app.iflytophald.type.protocol.*;
import a8k.app.type.error.AEHardwareError;
import a8k.app.type.exception.AppException;
import lombok.RequiredArgsConstructor;
@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
@Slf4j
@RequiredArgsConstructor
public class MiniServoDriver {
final private A8kCanBusService canBus;
final private A8kCanBusBaseDriver canBus;
public void moduleStop(MiniServoMId id) throws AppException {
canBus.moduleStop(id.mid);

11
src/main/java/a8k/app/channel/iflytophald/driver/ModuleEnableCtrlDriver.java → src/main/java/a8k/app/iflytophald/driver/ModuleEnableCtrlDriver.java

@ -1,10 +1,9 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.MiniServoMId;
import a8k.app.channel.iflytophald.type.protocol.StepMotorMId;
import a8k.app.iflytophald.type.protocol.MiniServoMId;
import a8k.app.iflytophald.type.protocol.StepMotorMId;
import a8k.app.type.exception.AppException;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.MId;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -18,7 +17,7 @@ public class ModuleEnableCtrlDriver {
private final PipetteCtrlDriverV2 pipetteCtrlDriver;
private final StepMotorCtrlDriver stepMotorCtrlDriver;
private final MiniServoDriver miniServoDriver;
private final A8kCanBusService canBus;
private final A8kCanBusBaseDriver canBus;
public void forceDisableAllMotor() {
// StepMotorMId.values()

15
src/main/java/a8k/app/channel/iflytophald/driver/OptModuleDriver.java → src/main/java/a8k/app/iflytophald/driver/OptModuleDriver.java

@ -1,13 +1,12 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.OS;
import a8k.app.factory.A8kPacketFactory;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.ModuleStatus;
import a8k.app.channel.iflytophald.type.protocol.OptModuleRegIndex;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.ModuleStatus;
import a8k.app.iflytophald.type.protocol.OptModuleRegIndex;
import a8k.app.type.error.AEHardwareError;
import a8k.app.type.exception.AppException;
import a8k.app.utils.ByteArrayUtils;
@ -35,7 +34,7 @@ public class OptModuleDriver {
}
@Resource
A8kCanBusService canBus;
A8kCanBusBaseDriver canBus;
void waittingForOptFinish(Integer overtime) throws AppException {

11
src/main/java/a8k/app/channel/iflytophald/driver/OutputIOCtrlDriver.java → src/main/java/a8k/app/iflytophald/driver/OutputIOCtrlDriver.java

@ -1,11 +1,10 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.ModuleType;
import a8k.app.type.error.AECodeError;
import a8k.app.type.exception.AppException;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.ModuleType;
import a8k.app.channel.iflytophald.type.protocol.OutputIOId;
import a8k.app.iflytophald.type.protocol.OutputIOId;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@ -13,7 +12,7 @@ import org.springframework.stereotype.Component;
@RequiredArgsConstructor
public class OutputIOCtrlDriver {
private final A8kCanBusService canBus;
private final A8kCanBusBaseDriver canBus;
public void setIOState(OutputIOId outputIOId, Boolean state) throws AppException {
if (outputIOId.mtype == ModuleType.Board) {

34
src/main/java/a8k/app/channel/iflytophald/driver/PipetteCtrlDriverV2.java → src/main/java/a8k/app/iflytophald/driver/PipetteCtrlDriverV2.java

@ -1,20 +1,20 @@
package a8k.app.channel.iflytophald.driver;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.*;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.DistribuAllParamId;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.PipetteConfig;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.PipetteStateIndex;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.*;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean.*;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx.*;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.param.AspirationParam;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.param.DistribuAllParam;
package a8k.app.iflytophald.driver;
import a8k.app.client.iflytophald.type.protocol.*;
import a8k.app.iflytophald.type.protocol.pipette_module.DistribuAllParamId;
import a8k.app.iflytophald.type.protocol.pipette_module.PipetteConfig;
import a8k.app.iflytophald.type.protocol.pipette_module.PipetteStateIndex;
import a8k.app.client.iflytophald.type.protocol.pipette_module.cfg.*;
import a8k.app.client.iflytophald.type.protocol.pipette_module.cfgbean.*;
import a8k.app.client.iflytophald.type.protocol.pipette_module.cpyidx.*;
import a8k.app.iflytophald.type.protocol.pipette_module.cfg.*;
import a8k.app.iflytophald.type.protocol.pipette_module.cpyidx.*;
import a8k.app.iflytophald.type.protocol.pipette_module.param.AspirationParam;
import a8k.app.iflytophald.type.protocol.pipette_module.param.DistribuAllParam;
import a8k.app.constant.ActionOvertimeConstant;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.AspirationParamId;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean.*;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx.*;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.*;
import a8k.app.iflytophald.type.protocol.pipette_module.AspirationParamId;
import a8k.app.iflytophald.type.protocol.*;
import a8k.app.iflytophald.type.protocol.pipette_module.cfgbean.*;
import a8k.app.type.exception.AppException;
import a8k.app.utils.ZJsonHelper;
import lombok.RequiredArgsConstructor;
@ -28,7 +28,7 @@ import java.util.List;
@RequiredArgsConstructor
@Slf4j
public class PipetteCtrlDriverV2 {
private final A8kCanBusService canBus;
private final A8kCanBusBaseDriver canBus;
private final ActionOvertimeConstant actionOvertimeConstant;
public void moduleStop() throws AppException {

9
src/main/java/a8k/app/channel/iflytophald/driver/StepMotorCtrlDriver.java → src/main/java/a8k/app/iflytophald/driver/StepMotorCtrlDriver.java

@ -1,15 +1,14 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.constant.ActionOvertimeConstant;
import a8k.app.channel.iflytophald.type.protocol.*;
import a8k.app.client.iflytophald.type.protocol.*;
import a8k.app.iflytophald.type.protocol.*;
import a8k.app.type.exception.AppException;
import a8k.app.utils.ZJsonHelper;
import a8k.iflyutils.BitUtils;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.springframework.stereotype.Component;
@Component
@ -17,7 +16,7 @@ import org.springframework.stereotype.Component;
@Slf4j
public class StepMotorCtrlDriver {
final private A8kCanBusService canBus;
final private A8kCanBusBaseDriver canBus;
private final ActionOvertimeConstant actionOvertimeConstant;

11
src/main/java/a8k/app/channel/iflytophald/driver/WaterTemperatureControllerDriver.java → src/main/java/a8k/app/iflytophald/driver/WaterTemperatureControllerDriver.java

@ -1,9 +1,8 @@
package a8k.app.channel.iflytophald.driver;
package a8k.app.iflytophald.driver;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.TemperatureControlerMid;
import a8k.app.channel.iflytophald.type.protocol.TemperatureControlerRegIndex;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.TemperatureControlerMid;
import a8k.app.iflytophald.type.protocol.TemperatureControlerRegIndex;
import a8k.app.service.param.misc.TemperatureCtrlParamMgr;
import a8k.app.type.exception.AppException;
import a8k.app.type.param.TemperatureCtrlParam;
@ -15,7 +14,7 @@ import org.springframework.stereotype.Component;
@Slf4j
public class WaterTemperatureControllerDriver {
@Resource
A8kCanBusService canBus;
A8kCanBusBaseDriver canBus;
Double incubatorTCMTempOffset = 0.0;
Double platesBoxTCMTempOffset = 0.0;

2
src/main/java/a8k/app/channel/iflytophald/type/channelctrl/IflytophaldResponse.java → src/main/java/a8k/app/iflytophald/type/channelctrl/IflytophaldResponse.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.channelctrl;
package a8k.app.iflytophald.type.channelctrl;
public class IflytophaldResponse<T> {
public Integer status;

8
src/main/java/a8k/app/channel/iflytophald/type/protocol/A8kEcode.java → src/main/java/a8k/app/iflytophald/type/protocol/A8kEcode.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
import lombok.extern.slf4j.Slf4j;
@ -35,6 +35,12 @@ public enum A8kEcode {
SYS_CMD_EXEC_OVERTIME(23), //Linux命令执行超时
NETWORK_PARAMETER_ERROR(24), //网络参数错误
LIS_LOST_CONNECTION(25), //LIS连接错误
LIS_REPORT_RECORD_FAIL(26), //Lis报告记录失败
LIS_REQUEST_SAMPLE_INFO_FAIL(27), //Lis请求样本信息失败
LIS_REQUEST_SAMPLE_INFO_PARSE_RESPONSE_FAIL(28), //Lis请求样本信息失败
LIS_SAMPLE_TYPE_NOT_SUPPORT(29), //Lis样本类型不支持
//
// 参数错误

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/A8kPacket.java → src/main/java/a8k/app/iflytophald/type/protocol/A8kPacket.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
import a8k.app.utils.ByteArrayUtils;
import org.slf4j.Logger;

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/CmdId.java → src/main/java/a8k/app/iflytophald/type/protocol/CmdId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum CmdId {
NotSet(0xFFFF, "NOACTION"),//

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/HbotRegIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/HbotRegIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum HbotRegIndex {
// kreg_module_version(RegIndex.kreg_module_version), // 模块版本

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/InputIOId.java → src/main/java/a8k/app/iflytophald/type/protocol/InputIOId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum InputIOId {
TubeHeightPPS("入料平移通道-试管高低检测IO", ModuleType.Board, MId.FeedingModBoard, 0, false), //高低试管检测IO

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/LldType.java → src/main/java/a8k/app/iflytophald/type/protocol/LldType.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
/**
* 液位探测方式

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/MId.java → src/main/java/a8k/app/iflytophald/type/protocol/MId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum MId {
NotSet(0, "未设置"),//

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/MiniServoMId.java → src/main/java/a8k/app/iflytophald/type/protocol/MiniServoMId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
import org.springframework.util.Assert;

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/MiniServoRegIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/MiniServoRegIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum MiniServoRegIndex {
// kreg_module_version(RegIndex.kreg_module_version), // 模块版本

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/ModuleStatus.java → src/main/java/a8k/app/iflytophald/type/protocol/ModuleStatus.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
import org.springframework.util.Assert;

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/ModuleType.java → src/main/java/a8k/app/iflytophald/type/protocol/ModuleType.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum ModuleType {
Board(0), // 板子

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/OptModuleRegIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/OptModuleRegIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum OptModuleRegIndex {
kreg_a8k_opt_t_pos_offset(RegIndex.kreg_a8k_opt_t_pos_offset),

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/OutputIOId.java → src/main/java/a8k/app/iflytophald/type/protocol/OutputIOId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum OutputIOId {
RecycleBinOverflowPPSPowerCtrl("废料仓-光栅电源", ModuleType.Board, MId.PlatesBoxTCMBoard, 0, false),//废料桶光栅电源

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/PipetteRegIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/PipetteRegIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
import org.springframework.util.Assert;

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/RegIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/RegIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum RegIndex {

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/StepMotorMId.java → src/main/java/a8k/app/iflytophald/type/protocol/StepMotorMId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
import org.springframework.util.Assert;

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/StepMotorRegIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/StepMotorRegIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum StepMotorRegIndex {
// kreg_module_version(RegIndex.kreg_module_version), // 模块版本

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/StepMotorSpeedLevel.java → src/main/java/a8k/app/iflytophald/type/protocol/StepMotorSpeedLevel.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
public enum StepMotorSpeedLevel {
DEFAULT,

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/TemperatureControlerMid.java → src/main/java/a8k/app/iflytophald/type/protocol/TemperatureControlerMid.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
import org.springframework.util.Assert;

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/TemperatureControlerRegIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/TemperatureControlerRegIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol;
package a8k.app.iflytophald.type.protocol;
import org.springframework.util.Assert;

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/AspirationParamId.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/AspirationParamId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module;
package a8k.app.iflytophald.type.protocol.pipette_module;
public enum AspirationParamId {
//

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/DistribuAllParamId.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/DistribuAllParamId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module;
package a8k.app.iflytophald.type.protocol.pipette_module;
public enum DistribuAllParamId {
//

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/DistribuType.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/DistribuType.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module;
package a8k.app.iflytophald.type.protocol.pipette_module;
public enum DistribuType {
JET_DIST, //液面上分配

6
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/PipetteConfig.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/PipetteConfig.java

@ -1,7 +1,7 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module;
package a8k.app.iflytophald.type.protocol.pipette_module;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean.*;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean.*;
import a8k.app.client.iflytophald.type.protocol.pipette_module.cfgbean.*;
import a8k.app.iflytophald.type.protocol.pipette_module.cfgbean.*;
import java.util.ArrayList;
import java.util.List;

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/PipetteStateIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/PipetteStateIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module;
package a8k.app.iflytophald.type.protocol.pipette_module;
public enum PipetteStateIndex {
enable,

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/TipType.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/TipType.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module;
package a8k.app.iflytophald.type.protocol.pipette_module;
public enum TipType {
TS1000UL, // 0 1000ul max=1002.6ul

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfg/ContainerInfoIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/ContainerInfoIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg;
package a8k.app.iflytophald.type.protocol.pipette_module.cfg;
public enum ContainerInfoIndex {
containerType, // 容器类型 0:平面 1:flat(平底) 2:conical(锥底) 3:round(圆底)

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfg/LiquidInfoIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/LiquidInfoIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg;
package a8k.app.iflytophald.type.protocol.pipette_module.cfg;
public enum LiquidInfoIndex {
// //

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfg/PMBasicConfigIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/PMBasicConfigIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg;
package a8k.app.iflytophald.type.protocol.pipette_module.cfg;
public enum PMBasicConfigIndex {
Pad,

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfg/PMVConfigIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/PMVConfigIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg;
package a8k.app.iflytophald.type.protocol.pipette_module.cfg;
public enum PMVConfigIndex {
acc, // 加速度 level 120 default:14 1:797.5 ul/s^2 ... 20:797*20 nl/s^2

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfg/PipetteCommonConfigIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/PipetteCommonConfigIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg;
package a8k.app.iflytophald.type.protocol.pipette_module.cfg;
public enum PipetteCommonConfigIndex {
pressureRecordEnable,

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfg/PlatformInfoIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/PlatformInfoIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg;
package a8k.app.iflytophald.type.protocol.pipette_module.cfg;
public enum PlatformInfoIndex {
/**

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfg/ZMBasicConfigIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/ZMBasicConfigIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg;
package a8k.app.iflytophald.type.protocol.pipette_module.cfg;
/**
* Z轴电机基础配置

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfg/ZMVConfigIndex.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfg/ZMVConfigIndex.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg;
package a8k.app.iflytophald.type.protocol.pipette_module.cfg;
public enum ZMVConfigIndex {
vstart,

4
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfgbean/PipetteCommonConfig.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteCommonConfig.java

@ -1,6 +1,6 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean;
package a8k.app.iflytophald.type.protocol.pipette_module.cfgbean;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.PipetteCommonConfigIndex;
import a8k.app.iflytophald.type.protocol.pipette_module.cfg.PipetteCommonConfigIndex;
import a8k.app.type.exception.AppException;
public class PipetteCommonConfig {

4
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfgbean/PipetteContainerInfo.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteContainerInfo.java

@ -1,6 +1,6 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean;
package a8k.app.iflytophald.type.protocol.pipette_module.cfgbean;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.ContainerInfoIndex;
import a8k.app.iflytophald.type.protocol.pipette_module.cfg.ContainerInfoIndex;
import a8k.app.type.exception.AppException;
public class PipetteContainerInfo {

4
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfgbean/PipetteLiquidInfo.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteLiquidInfo.java

@ -1,6 +1,6 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean;
package a8k.app.iflytophald.type.protocol.pipette_module.cfgbean;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.LiquidInfoIndex;
import a8k.app.iflytophald.type.protocol.pipette_module.cfg.LiquidInfoIndex;
import a8k.app.type.exception.AppException;
public class PipetteLiquidInfo {

4
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfgbean/PipettePMVCfg.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipettePMVCfg.java

@ -1,6 +1,6 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean;
package a8k.app.iflytophald.type.protocol.pipette_module.cfgbean;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.PMVConfigIndex;
import a8k.app.iflytophald.type.protocol.pipette_module.cfg.PMVConfigIndex;
import a8k.app.type.exception.AppException;
public class PipettePMVCfg {

4
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfgbean/PipettePlatInfo.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipettePlatInfo.java

@ -1,6 +1,6 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean;
package a8k.app.iflytophald.type.protocol.pipette_module.cfgbean;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.PlatformInfoIndex;
import a8k.app.iflytophald.type.protocol.pipette_module.cfg.PlatformInfoIndex;
import a8k.app.type.exception.AppException;
public class PipettePlatInfo {

4
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfgbean/PipetteZMBCfg.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteZMBCfg.java

@ -1,6 +1,6 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean;
package a8k.app.iflytophald.type.protocol.pipette_module.cfgbean;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.ZMBasicConfigIndex;
import a8k.app.iflytophald.type.protocol.pipette_module.cfg.ZMBasicConfigIndex;
import a8k.app.type.exception.AppException;
public class PipetteZMBCfg {

4
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cfgbean/PipetteZMVCfg.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cfgbean/PipetteZMVCfg.java

@ -1,6 +1,6 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cfgbean;
package a8k.app.iflytophald.type.protocol.pipette_module.cfgbean;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cfg.ZMVConfigIndex;
import a8k.app.iflytophald.type.protocol.pipette_module.cfg.ZMVConfigIndex;
import a8k.app.type.exception.AppException;
public class PipetteZMVCfg {

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cpyidx/ContainerCpyId.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/ContainerCpyId.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx;
package a8k.app.iflytophald.type.protocol.pipette_module.cpyidx;
public enum ContainerCpyId {
Default,

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cpyidx/LiquidConfigCpyIdx.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/LiquidConfigCpyIdx.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx;
package a8k.app.iflytophald.type.protocol.pipette_module.cpyidx;
/**
* 液体类型配置索引

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cpyidx/PMVCpyIdx.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/PMVCpyIdx.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx;
package a8k.app.iflytophald.type.protocol.pipette_module.cpyidx;
/**
* 泵电机速度配置索引

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cpyidx/PlatInfoCpyIdx.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/PlatInfoCpyIdx.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx;
package a8k.app.iflytophald.type.protocol.pipette_module.cpyidx;
public enum PlatInfoCpyIdx {
Default,

2
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/cpyidx/ZMVCpyIdx.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/cpyidx/ZMVCpyIdx.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx;
package a8k.app.iflytophald.type.protocol.pipette_module.cpyidx;
/**
* Z轴电机速度配置索引

8
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/param/AspirationParam.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/param/AspirationParam.java

@ -1,8 +1,8 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.param;
package a8k.app.iflytophald.type.protocol.pipette_module.param;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx.ContainerCpyId;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx.LiquidConfigCpyIdx;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.AspirationParamId;
import a8k.app.iflytophald.type.protocol.pipette_module.cpyidx.ContainerCpyId;
import a8k.app.iflytophald.type.protocol.pipette_module.cpyidx.LiquidConfigCpyIdx;
import a8k.app.iflytophald.type.protocol.pipette_module.AspirationParamId;
import a8k.app.type.exception.AppException;
public class AspirationParam {

10
src/main/java/a8k/app/channel/iflytophald/type/protocol/pipette_module/param/DistribuAllParam.java → src/main/java/a8k/app/iflytophald/type/protocol/pipette_module/param/DistribuAllParam.java

@ -1,9 +1,9 @@
package a8k.app.channel.iflytophald.type.protocol.pipette_module.param;
package a8k.app.iflytophald.type.protocol.pipette_module.param;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.DistribuAllParamId;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.DistribuType;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx.ContainerCpyId;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.cpyidx.LiquidConfigCpyIdx;
import a8k.app.iflytophald.type.protocol.pipette_module.DistribuAllParamId;
import a8k.app.iflytophald.type.protocol.pipette_module.DistribuType;
import a8k.app.iflytophald.type.protocol.pipette_module.cpyidx.ContainerCpyId;
import a8k.app.iflytophald.type.protocol.pipette_module.cpyidx.LiquidConfigCpyIdx;
import a8k.app.type.exception.AppException;
public class DistribuAllParam {

10
src/main/java/a8k/app/channel/iflytophald/channelctrl/IflytophaldChannelCtrl.java → src/main/java/a8k/app/iflytophald/utils/IflytophaldChannelCtrlRequester.java

@ -1,7 +1,7 @@
package a8k.app.channel.iflytophald.channelctrl;
package a8k.app.iflytophald.utils;
import a8k.app.config.IflytophaldConnectionConfig;
import a8k.app.channel.iflytophald.type.channelctrl.IflytophaldResponse;
import a8k.app.iflytophald.type.channelctrl.IflytophaldResponse;
import a8k.app.utils.ZJsonHelper;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
@ -17,7 +17,7 @@ import java.net.http.HttpResponse;
@Component
@Slf4j
@RequiredArgsConstructor
public class IflytophaldChannelCtrl {
public class IflytophaldChannelCtrlRequester {
private final IflytophaldConnectionConfig config;
@ -87,12 +87,12 @@ public class IflytophaldChannelCtrl {
{
IflytophaldResponse<Void> response =
IflytophaldChannelCtrl.callCmdStatic("http://192.168.8.10:19004/lis", "setBaudrate", Void.class, "baudrate=9600");
IflytophaldChannelCtrlRequester.callCmdStatic("http://192.168.8.10:19004/lis", "setBaudrate", Void.class, "baudrate=9600");
log.info("1Response: {}", ZJsonHelper.objToPrettyJson(response));
}
{
IflytophaldResponse<GetBaudrateResponse> response =
IflytophaldChannelCtrl.callCmdStatic("http://192.168.8.10:19004/lis", "getBaudrate", GetBaudrateResponse.class);
IflytophaldChannelCtrlRequester.callCmdStatic("http://192.168.8.10:19004/lis", "getBaudrate", GetBaudrateResponse.class);
log.info("2Response: {}", ZJsonHelper.objToPrettyJson(response));

2
src/main/java/a8k/app/channel/iflytophald/utils/OptGainConvert.java → src/main/java/a8k/app/iflytophald/utils/OptGainConvert.java

@ -1,4 +1,4 @@
package a8k.app.channel.iflytophald.utils;
package a8k.app.iflytophald.utils;
import a8k.app.type.a8k.opt.A8kOptType;

2
src/main/java/a8k/app/service/analyzer/A8kEcodeAnalyzer.java

@ -1,6 +1,6 @@
package a8k.app.service.analyzer;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.type.error.AppError;
public class A8kEcodeAnalyzer {

2
src/main/java/a8k/app/service/analyzer/A8kIdCardDataParseService.java

@ -3,7 +3,7 @@ package a8k.app.service.analyzer;
import a8k.app.dao.type.combination.ProjBuildInInfo;
import a8k.app.service.data.ProjInfoMgrService;
import a8k.app.type.a8k.optfn.A8kNormalFn;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.type.a8k.optfn.A8kOptX;
import a8k.app.type.a8k.optfn.A8kPiecewiseFn;
import a8k.app.type.a8k.optfn.A8kFnType;

12
src/main/java/a8k/app/service/appsetup/A8kSubModuleRegInitService.java

@ -6,11 +6,9 @@ import a8k.app.type.BoardVersions;
import a8k.app.type.DeviceRunMode;
import a8k.app.type.appevent.AppEvent;
import a8k.app.type.exception.AppException;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.driver.ModuleEnableCtrlDriver;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.ModuleType;
import a8k.app.channel.iflytophald.type.protocol.RegIndex;
import a8k.app.iflytophald.driver.A8kCanBusBaseDriver;
import a8k.app.iflytophald.driver.ModuleEnableCtrlDriver;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.service.background.AppEventBusService;
import a8k.app.service.data.SubModuleRegInitialValueMgrService;
import a8k.app.service.statemgr.GStateMgrService;
@ -32,8 +30,8 @@ import java.util.List;
public class A8kSubModuleRegInitService {
private final A8kCanBusService canBus;
private final ModuleEnableCtrlDriver moduleEnableCtrlDriver;
private final A8kCanBusBaseDriver canBus;
private final ModuleEnableCtrlDriver moduleEnableCtrlDriver;
private final GStateMgrService gStateMgrService;
private final AppEventBusService eventBus;
private final SubModuleRegInitialValueMgrService subModuleRegInitialValueMgrService;

14
src/main/java/a8k/app/service/background/ProjIDCardCtrlAndMonitorService.java

@ -2,16 +2,16 @@ package a8k.app.service.background;
import a8k.app.factory.ZAppPromptFactory;
import a8k.app.channel.iflytophald.type.protocol.A8kPacket;
import a8k.app.channel.iflytophald.type.protocol.CmdId;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.A8kPacket;
import a8k.app.iflytophald.type.protocol.CmdId;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.service.data.ProjInfoMgrService;
import a8k.app.service.statemgr.GStateMgrService;
import a8k.app.type.appevent.*;
import a8k.app.channel.iflytophald.type.protocol.RegIndex;
import a8k.app.iflytophald.type.protocol.RegIndex;
import a8k.app.dao.type.db.ProjExtInfoCard;
import a8k.app.type.exception.AppException;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.iflytophald.driver.A8kCanBusBaseDriver;
import a8k.app.service.analyzer.A8kIdCardDataParseService;
import a8k.app.dao.type.combination.ProjBuildInInfo;
import a8k.app.utils.ZWorkQueue;
@ -30,8 +30,8 @@ import org.springframework.stereotype.Component;
@RequiredArgsConstructor
public class ProjIDCardCtrlAndMonitorService {
private final A8kCanBusService canBus;
private final AppEventBusService eventBus;
private final A8kCanBusBaseDriver canBus;
private final AppEventBusService eventBus;
private final A8kIdCardDataParseService idCardDataParseService;
private final ProjInfoMgrService projInfoMgrService;
private final GStateMgrService gstat;

16
src/main/java/a8k/app/service/background/SensorDataUpdateService.java

@ -1,18 +1,18 @@
package a8k.app.service.background;
import a8k.OS;
import a8k.app.channel.iflytophald.driver.InputDetectDriver;
import a8k.app.channel.iflytophald.driver.OutputIOCtrlDriver;
import a8k.app.channel.iflytophald.type.protocol.InputIOId;
import a8k.app.iflytophald.driver.InputDetectDriver;
import a8k.app.iflytophald.driver.OutputIOCtrlDriver;
import a8k.app.iflytophald.type.protocol.InputIOId;
import a8k.app.service.statemgr.AppFlagStateMgr;
import a8k.app.type.AppFlagKey;
import a8k.app.type.DeviceRunMode;
import a8k.app.type.TemperatureRecordPoint;
import a8k.app.type.error.AppError;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.iflytophald.driver.A8kCanBusBaseDriver;
import a8k.app.service.statemgr.GStateMgrService;
import a8k.app.service.statemgr.OptScanModuleStateMgr;
import a8k.app.channel.iflytophald.driver.WaterTemperatureControllerDriver;
import a8k.app.iflytophald.driver.WaterTemperatureControllerDriver;
import a8k.app.type.exception.AppException;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
@ -34,9 +34,9 @@ public class SensorDataUpdateService {
private final GStateMgrService gStateMgrService;
private final WaterTemperatureControllerDriver waterTemperatureControllerDriver;
private final OptScanModuleStateMgr optScanModuleStateMgr;
private final AppEventBusService appEventBusService;
private final A8kCanBusService canBus;
private final OutputIOCtrlDriver outputIOCtrlDriver;
private final AppEventBusService appEventBusService;
private final A8kCanBusBaseDriver canBus;
private final OutputIOCtrlDriver outputIOCtrlDriver;
private final InputDetectDriver inputDetectDriver;
private final AppFlagStateMgr appFlagStateMgr;

4
src/main/java/a8k/app/service/background/TemperatureCtrlService.java

@ -2,8 +2,8 @@ package a8k.app.service.background;
import a8k.OS;
import a8k.app.channel.iflytophald.A8kChannelStateMgr;
import a8k.app.channel.iflytophald.driver.WaterTemperatureControllerDriver;
import a8k.app.iflytophald.A8kChannelStateMgr;
import a8k.app.iflytophald.driver.WaterTemperatureControllerDriver;
import a8k.app.service.setting.AppSettingsMgrService;
import a8k.app.service.statemgr.GStateMgrService;
import a8k.app.teststate.VirtualDevice;

4
src/main/java/a8k/app/service/ctrlmodule/TipOperationCtrlModule.java

@ -2,8 +2,8 @@ package a8k.app.service.ctrlmodule;
import a8k.app.constant.AppConstant;
import a8k.app.channel.iflytophald.driver.PipetteCtrlDriverV2;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.driver.PipetteCtrlDriverV2;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.service.lowerctrl.HbotMoveExCtrlService;
import a8k.app.service.statemgr.ConsumablesMgrService;
import a8k.app.service.statemgr.GStateMgrService;

5
src/main/java/a8k/app/service/data/AppUserMgrService.java

@ -4,19 +4,16 @@ import a8k.app.dao.AppUsrDao;
import a8k.app.dao.DeviceSettingDao;
import a8k.app.dao.type.db.AppUser;
import a8k.app.dao.type.db.DeviceSetting;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.service.background.AppEventBusService;
import a8k.app.type.appevent.AppLoginEvent;
import a8k.app.type.exception.AppException;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import org.slf4j.Logger;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Component;
import java.time.Duration;
import java.time.Instant;
import java.util.List;

2
src/main/java/a8k/app/service/data/ProjIdCardInfoMgrService.java

@ -8,7 +8,7 @@ import a8k.app.type.a8k.optfn.A8kNormalFn;
import a8k.app.type.a8k.optfn.A8kPiecewiseFn;
import a8k.app.type.a8k.optfn.A8kFnType;
import a8k.app.type.a8k.proj.A8kResultUnit;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.service.background.ProjIDCardCtrlAndMonitorService;
import a8k.app.service.statemgr.GStateMgrService;
import a8k.app.type.a8k.proj.A8kProjInfoCardBreif;

2
src/main/java/a8k/app/service/data/ProjInfoMgrService.java

@ -4,7 +4,7 @@ import a8k.SpringBootBeanUtil;
import a8k.app.dao.A8kProjExtInfoCardDao;
import a8k.app.dao.ProjOptInfoDao;
import a8k.app.dao.ProjectBaseInfoDao;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.dao.type.db.ProjExtInfoCard;
import a8k.app.dao.type.db.ProjectBaseInfo;

8
src/main/java/a8k/app/service/data/SubModuleConfigService.java

@ -2,10 +2,10 @@ package a8k.app.service.data;
import a8k.app.dao.SubModuleConfigDao;
import a8k.app.dao.type.db.SubModuleConfigValue;
import a8k.app.channel.iflytophald.driver.PipetteCtrlDriverV2;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.ModuleType;
import a8k.app.channel.iflytophald.type.protocol.pipette_module.PipetteConfig;
import a8k.app.iflytophald.driver.PipetteCtrlDriverV2;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.ModuleType;
import a8k.app.iflytophald.type.protocol.pipette_module.PipetteConfig;
import a8k.app.type.exception.AppException;
import a8k.app.utils.ZJsonHelper;
import lombok.RequiredArgsConstructor;

12
src/main/java/a8k/app/service/data/SubModuleRegInitialValueMgrService.java

@ -1,14 +1,14 @@
package a8k.app.service.data;
import a8k.app.channel.iflytophald.type.protocol.A8kEcode;
import a8k.app.iflytophald.type.protocol.A8kEcode;
import a8k.app.type.exception.AppException;
import a8k.app.config.A8kSubModuleInitRegConfig;
import a8k.app.dao.SubModuleRegInitialValueDao;
import a8k.app.dao.type.db.SubModuleRegInitialValue;
import a8k.app.channel.iflytophald.channel.A8kCanBusService;
import a8k.app.channel.iflytophald.type.protocol.MId;
import a8k.app.channel.iflytophald.type.protocol.ModuleType;
import a8k.app.channel.iflytophald.type.protocol.RegIndex;
import a8k.app.iflytophald.driver.A8kCanBusBaseDriver;
import a8k.app.iflytophald.type.protocol.MId;
import a8k.app.iflytophald.type.protocol.ModuleType;
import a8k.app.iflytophald.type.protocol.RegIndex;
import a8k.app.utils.ZList;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -23,7 +23,7 @@ import java.util.List;
public class SubModuleRegInitialValueMgrService {
private final SubModuleRegInitialValueDao subModuleRegInitialValueDao;
private final A8kCanBusService canBus;
private final A8kCanBusBaseDriver canBus;
private final A8kSubModuleInitRegConfig a8kSubModuleInitRegConfig;

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save