Browse Source

文档更新以及TIP测试

master
sige 2 years ago
parent
commit
6d13fe3d2c
  1. BIN
      doc/A8000测试流程(非最终稿)第二版 2023.5.15.xlsx
  2. 40
      src/main/java/com/dreamworks/boditech/controller/TmpController.java
  3. 5
      src/main/java/com/dreamworks/boditech/driver/actuator/ActPipette.java

BIN
doc/A8000测试流程(非最终稿)第二版 2023.5.15.xlsx

40
src/main/java/com/dreamworks/boditech/controller/TmpController.java

@ -4,9 +4,16 @@ import com.dreamworks.boditech.driver.actuator.ActArmXY;
import com.dreamworks.boditech.driver.actuator.ActArmZMotor;
import com.dreamworks.boditech.driver.actuator.ActPipette;
import com.dreamworks.boditech.driver.actuator.ActuatorModule;
import com.dreamworks.boditech.driver.consumable.CsmPipetteTip;
import com.dreamworks.boditech.driver.consumable.CsmPipetteTipBox;
import com.dreamworks.boditech.driver.consumable.CsmPipetteTipManager;
import com.dreamworks.boditech.driver.entity.ParamPipetteTipUpdate;
import com.dreamworks.boditech.service.AccountService;
import com.dreamworks.boditech.service.DeviceService;
import com.dreamworks.boditech.service.WebsocketServerService;
import jakarta.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
@ -15,6 +22,8 @@ import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
@Controller
public class TmpController extends BaseController {
private static final Logger LOG = LoggerFactory.getLogger(TmpController.class);
@Resource
private DeviceService deviceService;
@ -29,4 +38,35 @@ public class TmpController extends BaseController {
armZ.moveToLiquidLevel(name);
return this.success();
}
@ResponseBody
@PostMapping("/api/tmp/pipette-tip-test")
public ApiResponse pipetteTipTest( @RequestBody Map<String,Object> params ) {
ActArmXY armXY = (ActArmXY)this.deviceService.device.getActuator(ActuatorModule.ARM_XY);
ActArmZMotor armZ = (ActArmZMotor)this.deviceService.device.getActuator(ActuatorModule.ARM_Z_MOTOR);
armZ.reset();
armXY.reset();
this.deviceService.device.pipetteTips.updateByBox(new ParamPipetteTipUpdate() {{
index = 0;
tipAmount = 120;
}});
this.deviceService.device.pipetteTips.updateByBox(new ParamPipetteTipUpdate() {{
index = 1;
tipAmount = 120;
}});
this.deviceService.device.pipetteTips.updateByBox(new ParamPipetteTipUpdate() {{
index = 2;
tipAmount = 120;
}});
ActPipette pipette = (ActPipette)this.deviceService.device.getActuator(ActuatorModule.ARM_Z_PIPETTE);
CsmPipetteTipManager tipManager = this.deviceService.device.pipetteTips;
while ( !tipManager.isEmpty() ) {
CsmPipetteTip tip = tipManager.tipAlloc();
LOG.info("pick up : box={}; index={}; x={}; y={}", tip.boxIndex,tip.index, tip.getLocationX(), tip.getLocationY());
pipette.pickUpTip(tip);
pipette.dropTip();
}
return this.success();
}
}

5
src/main/java/com/dreamworks/boditech/driver/actuator/ActPipette.java

@ -25,6 +25,11 @@ public class ActPipette extends ActuatorBase {
this.hasTip = true;
}
// pick up tip
public void pickUpTip(CsmPipetteTip tip) {
this.useTip(tip);
}
/**
* drop tip to discard hole, and move arm z to 0, it would not
* move arm xy to any position after drop tip.

Loading…
Cancel
Save