From ebaa57bf319e28e8e61d0ee2eed00415e9e3ef44 Mon Sep 17 00:00:00 2001 From: sige Date: Sat, 2 Dec 2023 19:28:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=BB=E5=8A=A1=EF=BC=9A?= =?UTF-8?q?=E5=A4=8D=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boditech/controller/TestController.java | 5 +- .../com/dreamworks/boditech/driver/Command.java | 4 + .../com/dreamworks/boditech/driver/Device.java | 2 + .../com/dreamworks/boditech/driver/Register.java | 5 + .../java/com/dreamworks/boditech/driver/Task.java | 4 - .../dreamworks/boditech/driver/TaskExecutor.java | 1 + .../boditech/driver/actuator/ActArmXY.java | 8 ++ .../boditech/driver/actuator/ActIncubator.java | 29 ++--- .../boditech/driver/actuator/ActMotor.java | 27 +++++ .../boditech/driver/actuator/ActuatorBase.java | 7 ++ .../boditech/driver/actuator/ActuatorModule.java | 2 + .../com/dreamworks/boditech/driver/task/Task.java | 7 ++ .../boditech/driver/task/TaskBatchTubeExit.java | 1 - .../boditech/driver/task/TaskBatchTubePrepare.java | 1 - .../dreamworks/boditech/driver/task/TaskReset.java | 117 +++++++++++++++++++++ .../dreamworks/boditech/driver/task/TaskTest.java | 1 - .../dreamworks/boditech/driver/task/step/Step.java | 2 +- .../boditech/driver/task/step/StepAnalysis.java | 2 +- .../boditech/driver/task/step/StepPuncture.java | 2 +- .../boditech/driver/task/step/StepSampling.java | 2 +- .../boditech/driver/task/step/StepShake.java | 2 +- .../dreamworks/boditech/service/DeviceService.java | 6 ++ 22 files changed, 209 insertions(+), 28 deletions(-) create mode 100644 src/main/java/com/dreamworks/boditech/driver/Register.java delete mode 100644 src/main/java/com/dreamworks/boditech/driver/Task.java create mode 100644 src/main/java/com/dreamworks/boditech/driver/task/Task.java create mode 100644 src/main/java/com/dreamworks/boditech/driver/task/TaskReset.java diff --git a/src/main/java/com/dreamworks/boditech/controller/TestController.java b/src/main/java/com/dreamworks/boditech/controller/TestController.java index b50903b..892eebf 100644 --- a/src/main/java/com/dreamworks/boditech/controller/TestController.java +++ b/src/main/java/com/dreamworks/boditech/controller/TestController.java @@ -1,6 +1,7 @@ package com.dreamworks.boditech.controller; import com.dreamworks.boditech.controller.entity.ApiResponse; import com.dreamworks.boditech.driver.task.TaskBatchTubePrepare; +import com.dreamworks.boditech.driver.task.TaskReset; import com.dreamworks.boditech.driver.task.TaskTest; import com.dreamworks.boditech.entity.request.test.AppendParam; import com.dreamworks.boditech.service.DeviceService; @@ -19,8 +20,8 @@ public class TestController extends BaseController { public ApiResponse append( @RequestBody AppendParam appendParam) { // TaskBatchTubePrepare task = new TaskBatchTubePrepare(); // task.setTests(appendParam.tests); - - TaskTest task = new TaskTest(); +// TaskTest task = new TaskTest(); + TaskReset task = new TaskReset(); this.deviceService.taskAppend(task); return this.success(); } diff --git a/src/main/java/com/dreamworks/boditech/driver/Command.java b/src/main/java/com/dreamworks/boditech/driver/Command.java index 178cf30..010560b 100644 --- a/src/main/java/com/dreamworks/boditech/driver/Command.java +++ b/src/main/java/com/dreamworks/boditech/driver/Command.java @@ -6,13 +6,17 @@ public class Command { // command constants public static final Integer CMD_MODULE_STOP = 0x0101; public static final Integer CMD_MODULE_GET_STATUS = 0x0104; + public static final Integer CMD_MODULE_GET_REG = 0x0106; public static final Integer CMD_MODULE_READ_IO = 0x0107; public static final Integer CMD_MODULE_READ_RAW = 0x0113; public static final Integer CMD_MODULE_START = 0x0115; + public static final Integer CMD_MOTOR_CALCULATED_POS_BY_MOVE_TO_ZERO = 0x0210; public static final Integer CMD_MOTOR_EASY_ROTATE = 0x0211; public static final Integer CMD_MOTOR_EASY_MOVE_BY = 0x0212; public static final Integer CMD_MOTOR_EASY_MOVE_TO = 0x0213; + public static final Integer CMD_MOTOR_EASY_MOVE_TO_ZERO = 0x0214; public static final Integer CMD_XYMOTOR_MOVE_TO = 0x0303; + public static final Integer CMD_XYMOTOR_MOVE_TO_ZERO = 0x0304; public static final Integer CMD_PIPETTE_CTRL_INIT_DEVICE = 0x0501; public static final Integer CMD_PIPETTE_CTRL_MOVE_TO_UL = 0x0503; diff --git a/src/main/java/com/dreamworks/boditech/driver/Device.java b/src/main/java/com/dreamworks/boditech/driver/Device.java index 1c6b2c0..e06fb80 100644 --- a/src/main/java/com/dreamworks/boditech/driver/Device.java +++ b/src/main/java/com/dreamworks/boditech/driver/Device.java @@ -64,6 +64,8 @@ public class Device { this.appendActuator(new ActMotor(ActuatorModule.ANALYSIS_PUSH_MOTOR, this)); this.appendActuator(new ActMotor(ActuatorModule.ANALYSIS_SCAN_MOTOR, this)); this.appendActuator(new ActAnalysisScanner(ActuatorModule.ANALYSIS_SCAN_SCANNER, this)); + this.appendActuator(new ActMotor(ActuatorModule.TEST_CARD_FEED_MOTOR, this)); + this.appendActuator(new ActMotor(ActuatorModule.TEST_CARD_BOX_MOTOR, this)); } // append actuator diff --git a/src/main/java/com/dreamworks/boditech/driver/Register.java b/src/main/java/com/dreamworks/boditech/driver/Register.java new file mode 100644 index 0000000..7faa44c --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/driver/Register.java @@ -0,0 +1,5 @@ +package com.dreamworks.boditech.driver; +public class Register { + public static final Integer MODULE_INPUT_STATE = 8; + public static final Integer MODULE_LAST_CMD_EXEC_VAL0 = 21; +} diff --git a/src/main/java/com/dreamworks/boditech/driver/Task.java b/src/main/java/com/dreamworks/boditech/driver/Task.java deleted file mode 100644 index 0b4c9a1..0000000 --- a/src/main/java/com/dreamworks/boditech/driver/Task.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.dreamworks.boditech.driver; -public interface Task { - public void execute(TaskExecutor executor); -} diff --git a/src/main/java/com/dreamworks/boditech/driver/TaskExecutor.java b/src/main/java/com/dreamworks/boditech/driver/TaskExecutor.java index c4d3c23..68d0f44 100644 --- a/src/main/java/com/dreamworks/boditech/driver/TaskExecutor.java +++ b/src/main/java/com/dreamworks/boditech/driver/TaskExecutor.java @@ -1,4 +1,5 @@ package com.dreamworks.boditech.driver; +import com.dreamworks.boditech.driver.task.Task; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; diff --git a/src/main/java/com/dreamworks/boditech/driver/actuator/ActArmXY.java b/src/main/java/com/dreamworks/boditech/driver/actuator/ActArmXY.java index 71c219b..2693e93 100644 --- a/src/main/java/com/dreamworks/boditech/driver/actuator/ActArmXY.java +++ b/src/main/java/com/dreamworks/boditech/driver/actuator/ActArmXY.java @@ -36,4 +36,12 @@ public class ActArmXY extends ActuatorBase { Integer y = this.getDevice().getLocationByName(name + ".y"); this.moveTo(x, y); } + + /** + * reset arm xy + */ + public void reset() { + this.call(Command.CMD_XYMOTOR_MOVE_TO_ZERO); + this.waitForFinish(); + } } diff --git a/src/main/java/com/dreamworks/boditech/driver/actuator/ActIncubator.java b/src/main/java/com/dreamworks/boditech/driver/actuator/ActIncubator.java index c522378..0473dac 100644 --- a/src/main/java/com/dreamworks/boditech/driver/actuator/ActIncubator.java +++ b/src/main/java/com/dreamworks/boditech/driver/actuator/ActIncubator.java @@ -19,29 +19,30 @@ public class ActIncubator extends ActMotor { } } - // get slot - public boolean hasFreeSlot() { + public IncubatorSlot getFreeSlot() { for ( int i = 0; i < 20; i++ ) { if ( this.slots[i].isFree ) { - return true; + return this.slots[i]; } } - return false; + return null; + } + + public void lockSlot( int index ) { + this.slots[index].isFree = false; + } + + public void unlockSlot( int index ) { + this.slots[index].isFree = true; } - // move to free position - public void moveToFreePosition() { - IncubatorSlot slot = null; + // get slot + public boolean hasFreeSlot() { for ( int i = 0; i < 20; i++ ) { if ( this.slots[i].isFree ) { - slot = this.slots[i]; - break; + return true; } } - if ( slot == null ) { - throw new RuntimeException("no free slot"); - } - - this.moveTo(slot.getLocation()); + return false; } } diff --git a/src/main/java/com/dreamworks/boditech/driver/actuator/ActMotor.java b/src/main/java/com/dreamworks/boditech/driver/actuator/ActMotor.java index de0715c..f952ae2 100644 --- a/src/main/java/com/dreamworks/boditech/driver/actuator/ActMotor.java +++ b/src/main/java/com/dreamworks/boditech/driver/actuator/ActMotor.java @@ -1,17 +1,39 @@ package com.dreamworks.boditech.driver.actuator; import com.dreamworks.boditech.driver.Command; import com.dreamworks.boditech.driver.Device; +import com.dreamworks.boditech.driver.Register; + +import java.nio.ByteBuffer; + public class ActMotor extends ActuatorBase { // rotate direction public static final int ROTATE_DIRECTION_CLOCKWISE = 1; // rotate direction public static final int ROTATE_DIRECTION_COUNTER_CLOCKWISE = -1; + // point type : start + public static final int POINT_START = 0; + // point type : end + public static final int POINT_END = 1; // constructor public ActMotor(Integer mid, Device device) { super(mid, device); } + // reset + public void reset() { + this.call(Command.CMD_MOTOR_EASY_MOVE_TO_ZERO, -1); + this.waitForFinish(); + } + + // reset and get source location + public Integer resetAndGetSourceLocation() { + this.call(Command.CMD_MOTOR_CALCULATED_POS_BY_MOVE_TO_ZERO); + this.waitForFinish(); + Integer location = this.getRegister(Register.MODULE_LAST_CMD_EXEC_VAL0); + return location; + } + // move to given position public void moveTo(int position) { this.call(Command.CMD_MOTOR_EASY_MOVE_TO, position); @@ -35,4 +57,9 @@ public class ActMotor extends ActuatorBase { this.call(Command.CMD_MOTOR_EASY_ROTATE, direction); this.waitForFinish(); } + + // move to point + public void moveToPoint( int pointType ) { + // @TODO : 硬件暂时未更新 + } } diff --git a/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorBase.java b/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorBase.java index 569ec98..a13cf53 100644 --- a/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorBase.java +++ b/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorBase.java @@ -74,6 +74,13 @@ public class ActuatorBase implements Actuator { return rawText.trim(); } + // get register + public Integer getRegister( Integer index ) { + ByteBuffer response = this.call(Command.CMD_MODULE_GET_REG, index); + Integer value = this.getIntegerFromResponse(response, 0); + return value; + } + // get integer from response protected Integer getIntegerFromResponse(ByteBuffer response, Integer index ) { response.order(ByteOrder.LITTLE_ENDIAN); diff --git a/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorModule.java b/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorModule.java index 6df5548..139d117 100644 --- a/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorModule.java +++ b/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorModule.java @@ -3,6 +3,8 @@ public class ActuatorModule { public static Integer ARM_XY = 11; public static Integer ARM_Z_MOTOR = 81; public static Integer ARM_Z_PIPETTE = 82; + public static Integer TEST_CARD_BOX_MOTOR = 21; + public static Integer TEST_CARD_FEED_MOTOR = 22; public static Integer TEST_TUBE_SHAKING_MOVE_MOTOR = 31; public static Integer TEST_TUBE_SHAKING_ROTATE_MOTOR = 32; public static Integer TEST_TUBE_SHAKING_CLIP_MOTOR = 33; diff --git a/src/main/java/com/dreamworks/boditech/driver/task/Task.java b/src/main/java/com/dreamworks/boditech/driver/task/Task.java new file mode 100644 index 0000000..9403dfa --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/driver/task/Task.java @@ -0,0 +1,7 @@ +package com.dreamworks.boditech.driver.task; + +import com.dreamworks.boditech.driver.TaskExecutor; + +public interface Task { + public void execute(TaskExecutor executor); +} diff --git a/src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubeExit.java b/src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubeExit.java index 4d50abf..a480143 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubeExit.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubeExit.java @@ -1,6 +1,5 @@ package com.dreamworks.boditech.driver.task; import com.dreamworks.boditech.driver.Device; -import com.dreamworks.boditech.driver.Task; import com.dreamworks.boditech.driver.TaskExecutor; import com.dreamworks.boditech.driver.actuator.ActMotor; import com.dreamworks.boditech.driver.actuator.ActuatorModule; diff --git a/src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubePrepare.java b/src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubePrepare.java index cf03a67..2daa296 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubePrepare.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubePrepare.java @@ -1,6 +1,5 @@ package com.dreamworks.boditech.driver.task; import com.dreamworks.boditech.driver.Device; -import com.dreamworks.boditech.driver.Task; import com.dreamworks.boditech.driver.TaskExecutor; import com.dreamworks.boditech.driver.actuator.ActCodeScanner; import com.dreamworks.boditech.driver.actuator.ActModuleTestTubeRackMovement; diff --git a/src/main/java/com/dreamworks/boditech/driver/task/TaskReset.java b/src/main/java/com/dreamworks/boditech/driver/task/TaskReset.java new file mode 100644 index 0000000..e6ef8af --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/driver/task/TaskReset.java @@ -0,0 +1,117 @@ +package com.dreamworks.boditech.driver.task; +import com.dreamworks.boditech.driver.Device; +import com.dreamworks.boditech.driver.Register; +import com.dreamworks.boditech.driver.TaskExecutor; +import com.dreamworks.boditech.driver.actuator.ActArmXY; +import com.dreamworks.boditech.driver.actuator.ActIncubator; +import com.dreamworks.boditech.driver.actuator.ActMotor; +import com.dreamworks.boditech.driver.actuator.ActuatorModule; +import com.dreamworks.boditech.driver.entity.IncubatorSlot; + +import java.util.Objects; + +public class TaskReset implements Task { + // mode : normal + public static final Integer MODE_NORMAL = 0; + // mode : error + public static final Integer MODE_ERROR = 1; + + // reset mode + public Integer mode = MODE_NORMAL; + + @Override + public void execute(TaskExecutor executor) { + Device device = executor.getDevice(); + + //01. 试管夹复位 + ActMotor testTubeShakingClipMotor = (ActMotor)device.getActuator(ActuatorModule.TEST_TUBE_SHAKING_CLIP_MOTOR); + testTubeShakingClipMotor.reset(); + + // 02. 试管夹旋转复位 + ActMotor testTubeShakingClipRotateMotor = (ActMotor)device.getActuator(ActuatorModule.TEST_TUBE_SHAKING_ROTATE_MOTOR); + testTubeShakingClipRotateMotor.reset(); + + // 03. 机械臂Z轴复位 + ActMotor armZMotor = (ActMotor)device.getActuator(ActuatorModule.ARM_Z_MOTOR); + armZMotor.reset(); + + // 04. 机械臂XY轴复位 + ActArmXY armXY = (ActArmXY)device.getActuator(ActuatorModule.ARM_XY); + armXY.reset(); + + // 错误模式下,可能还有TIP未丢弃 + if (Objects.equals(this.mode, TaskReset.MODE_ERROR)) { + armXY.moveTo("tipDiscardPrepareHole"); + armZMotor.moveTo("tipDiscardDepth"); + armXY.moveTo("tipDiscardDrop"); + armZMotor.reset(); + } + + // 05. 摇匀电机复位 + // @TODO : 摇匀电机没有零点,暂时没法复位 + + // 06. 试管帽夹复位 + ActMotor testTubeShakingCapClipMotor = (ActMotor)device.getActuator(ActuatorModule.TEST_TUBE_SHAKING_CAP_CLIP_MOTOR); + testTubeShakingCapClipMotor.moveTo("testTubeShakingCapClipClose"); + + // 07. 摇匀升降电机复位 + // @TODO : 升降电机需要向上复位,但是目前没有更新,所以暂时不复位 + ActMotor testTubeShakingMoveMotor = (ActMotor)device.getActuator(ActuatorModule.TEST_TUBE_SHAKING_MOVE_MOTOR); + // testTubeShakingMoveMotor.reset(); + + if ( Objects.equals(this.mode, TaskReset.MODE_ERROR) ) { + // 出错的情况下这个时候可能还存在试管,需要把试管放回到试管架上 + testTubeShakingMoveMotor.moveTo("testTubeShakingCapPickUp"); + testTubeShakingCapClipMotor.moveTo("testTubeShakingCapClipOpen"); + testTubeShakingMoveMotor.moveTo("testTubeShakingUpDownStandBy"); + testTubeShakingCapClipMotor.moveTo("testTubeShakingCapClipClose"); + } + + // 08. 试管架电机复位 + ActMotor testTubeRackMoveMotor = (ActMotor)device.getActuator(ActuatorModule.TEST_TUBE_RACK_MOVE_MOTOR); + testTubeRackMoveMotor.reset(); + testTubeRackMoveMotor.moveTo("testTubeRackExitPrepare"); + testTubeRackMoveMotor.moveTo("testTubeRackExit"); + ActMotor testTubeRackExitMotor = (ActMotor)device.getActuator(ActuatorModule.TEST_TUBE_RACK_EXIT_MOTOR); + testTubeRackExitMotor.moveBy(500); + testTubeRackMoveMotor.reset(); + + // 09. 板夹仓推杆电机复位 + ActMotor testCardFeedMotor = (ActMotor)device.getActuator(ActuatorModule.TEST_CARD_FEED_MOTOR); + // @TODO : 检查是否存在试管正在被从板夹仓推出 + // @TODO : 读取试管夹二次验证相机数据,判断是否存在上述情况 + boolean hasTestCardInFeedRack = true; + if ( hasTestCardInFeedRack ) { + testCardFeedMotor.moveToPoint(ActMotor.POINT_END); + } + testCardFeedMotor.reset(); + testCardFeedMotor.moveTo("testCardFeedStandBy"); + + // 10. 板夹仓复位 + ActMotor testCardBoxMotor = (ActMotor)device.getActuator(ActuatorModule.TEST_CARD_BOX_MOTOR); + testCardBoxMotor.reset(); + + // 11. 光学扫描电机复位 + ActMotor analysisScanMotor = (ActMotor)device.getActuator(ActuatorModule.ANALYSIS_SCAN_MOTOR); + analysisScanMotor.reset(); + analysisScanMotor.moveTo("analysisScanMotorStandBy"); + + // 11. 光学推杆电机复位 + ActMotor analysisPushMotor = (ActMotor)device.getActuator(ActuatorModule.ANALYSIS_PUSH_MOTOR); + Integer analysisPushMotorInputState = analysisPushMotor.getRegister(Register.MODULE_INPUT_STATE); + boolean isAnalysisPushMotorPushing = ((analysisPushMotorInputState >> 1) & 0x01) == 0x00; + if ( isAnalysisPushMotorPushing ) { + analysisPushMotor.reset(); + analysisScanMotor.moveTo("analysisScanMotorDropCard"); + analysisScanMotor.moveTo("analysisScanMotorStandBy"); + analysisPushMotor.moveTo("analysisPushMotorStandby"); + } + + // 12. 孵育盘电机复位 + ActIncubator incubatorMotor = (ActIncubator)device.getActuator(ActuatorModule.INCUBATOR_MOTOR); + incubatorMotor.reset(); + IncubatorSlot incubatorSlot = incubatorMotor.getFreeSlot(); + incubatorMotor.moveTo(incubatorSlot.getExitLocation()); + analysisPushMotor.moveTo("analysisPushMotorStandby"); + } +} diff --git a/src/main/java/com/dreamworks/boditech/driver/task/TaskTest.java b/src/main/java/com/dreamworks/boditech/driver/task/TaskTest.java index 194b192..4ee65af 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/TaskTest.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/TaskTest.java @@ -1,5 +1,4 @@ package com.dreamworks.boditech.driver.task; -import com.dreamworks.boditech.driver.Task; import com.dreamworks.boditech.driver.TaskExecutor; import com.dreamworks.boditech.driver.TestStep; import com.dreamworks.boditech.driver.consumable.CsmBufferTubeA; diff --git a/src/main/java/com/dreamworks/boditech/driver/task/step/Step.java b/src/main/java/com/dreamworks/boditech/driver/task/step/Step.java index f5bc9c9..c8fd794 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/step/Step.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/step/Step.java @@ -1,5 +1,5 @@ package com.dreamworks.boditech.driver.task.step; -import com.dreamworks.boditech.driver.Task; +import com.dreamworks.boditech.driver.task.Task; import com.dreamworks.boditech.driver.TaskExecutor; public interface Step { // execute step diff --git a/src/main/java/com/dreamworks/boditech/driver/task/step/StepAnalysis.java b/src/main/java/com/dreamworks/boditech/driver/task/step/StepAnalysis.java index 41d3328..e65d01a 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/step/StepAnalysis.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/step/StepAnalysis.java @@ -1,6 +1,6 @@ package com.dreamworks.boditech.driver.task.step; import com.dreamworks.boditech.driver.Device; -import com.dreamworks.boditech.driver.Task; +import com.dreamworks.boditech.driver.task.Task; import com.dreamworks.boditech.driver.TaskExecutor; import com.dreamworks.boditech.driver.actuator.ActAnalysisScanner; import com.dreamworks.boditech.driver.actuator.ActIncubator; diff --git a/src/main/java/com/dreamworks/boditech/driver/task/step/StepPuncture.java b/src/main/java/com/dreamworks/boditech/driver/task/step/StepPuncture.java index cd37063..cc5bcaf 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/step/StepPuncture.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/step/StepPuncture.java @@ -1,6 +1,6 @@ package com.dreamworks.boditech.driver.task.step; import com.dreamworks.boditech.driver.Device; -import com.dreamworks.boditech.driver.Task; +import com.dreamworks.boditech.driver.task.Task; import com.dreamworks.boditech.driver.TaskExecutor; import com.dreamworks.boditech.driver.actuator.ActArmXY; import com.dreamworks.boditech.driver.actuator.ActMotor; diff --git a/src/main/java/com/dreamworks/boditech/driver/task/step/StepSampling.java b/src/main/java/com/dreamworks/boditech/driver/task/step/StepSampling.java index c72492f..d46783d 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/step/StepSampling.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/step/StepSampling.java @@ -1,6 +1,6 @@ package com.dreamworks.boditech.driver.task.step; import com.dreamworks.boditech.driver.Device; -import com.dreamworks.boditech.driver.Task; +import com.dreamworks.boditech.driver.task.Task; import com.dreamworks.boditech.driver.TaskExecutor; import com.dreamworks.boditech.driver.actuator.ActArmXY; import com.dreamworks.boditech.driver.actuator.ActMotor; diff --git a/src/main/java/com/dreamworks/boditech/driver/task/step/StepShake.java b/src/main/java/com/dreamworks/boditech/driver/task/step/StepShake.java index 2dd3a58..f4612c3 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/step/StepShake.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/step/StepShake.java @@ -1,6 +1,6 @@ package com.dreamworks.boditech.driver.task.step; import com.dreamworks.boditech.driver.Device; -import com.dreamworks.boditech.driver.Task; +import com.dreamworks.boditech.driver.task.Task; import com.dreamworks.boditech.driver.TaskExecutor; import com.dreamworks.boditech.driver.actuator.ActMotor; import com.dreamworks.boditech.driver.actuator.ActuatorModule; diff --git a/src/main/java/com/dreamworks/boditech/service/DeviceService.java b/src/main/java/com/dreamworks/boditech/service/DeviceService.java index 51ff0cf..0cb9c4f 100644 --- a/src/main/java/com/dreamworks/boditech/service/DeviceService.java +++ b/src/main/java/com/dreamworks/boditech/service/DeviceService.java @@ -2,6 +2,7 @@ package com.dreamworks.boditech.service; import com.dreamworks.boditech.driver.*; import com.dreamworks.boditech.driver.consumable.CsmLargeBufferTube; import com.dreamworks.boditech.driver.consumable.CsmPipetteTip; +import com.dreamworks.boditech.driver.task.Task; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -26,6 +27,11 @@ public class DeviceService { // task executor thread private Thread taskExecutorThread; + // reset to initial state + public void reset() { + + } + // start public void start() { this.device.appendPipetteTip(0, 10);