diff --git a/src/main/java/com/dreamworks/boditech/controller/DeviceController.java b/src/main/java/com/dreamworks/boditech/controller/DeviceController.java index 90b90da..685ef8e 100644 --- a/src/main/java/com/dreamworks/boditech/controller/DeviceController.java +++ b/src/main/java/com/dreamworks/boditech/controller/DeviceController.java @@ -15,6 +15,7 @@ import jakarta.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; @@ -29,8 +30,13 @@ public class DeviceController extends BaseController { @ResponseBody @PostMapping("/api/device/test-card-load") - public ApiResponse testCardLoad() { -// this.deviceService.testCardLoad(); + public ApiResponse testCardLoad(@RequestHeader("IS-FS-READY") String isFsReady ) { + // @TODO : 删除该标记 + if ( "NO".equals(isFsReady) ) { + return this.success(); + } + + this.deviceService.testCardLoad(); return this.success(); } diff --git a/src/main/java/com/dreamworks/boditech/driver/Device.java b/src/main/java/com/dreamworks/boditech/driver/Device.java index 34e3b17..279758c 100644 --- a/src/main/java/com/dreamworks/boditech/driver/Device.java +++ b/src/main/java/com/dreamworks/boditech/driver/Device.java @@ -83,6 +83,7 @@ public class Device { this.appendActuator(new ActMotor(ActuatorModule.TEST_CARD_FEED_MOTOR, this)); this.appendActuator(new ActMotor(ActuatorModule.TEST_CARD_BOX_MOTOR, this)); this.appendActuator(new ActCodeScanner(ActuatorModule.ARM_Z_SCANNER, this)); + this.appendActuator(new ActModuleTestCardBoxCase(ActuatorModule.TEST_CARD_BOX_CASE, this)); } // append actuator diff --git a/src/main/java/com/dreamworks/boditech/driver/actuator/ActModuleTestCardBoxCase.java b/src/main/java/com/dreamworks/boditech/driver/actuator/ActModuleTestCardBoxCase.java new file mode 100644 index 0000000..e90a733 --- /dev/null +++ b/src/main/java/com/dreamworks/boditech/driver/actuator/ActModuleTestCardBoxCase.java @@ -0,0 +1,11 @@ +package com.dreamworks.boditech.driver.actuator; +import com.dreamworks.boditech.driver.Device; +public class ActModuleTestCardBoxCase extends ActuatorBase { + // io : is case cover closed + public static final Integer IO_CASE_COVER_CLOSED = 1; + + // constructor + public ActModuleTestCardBoxCase(Integer mid, Device device) { + super(mid, device); + } +} 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 2da43b3..ce3287a 100644 --- a/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorModule.java +++ b/src/main/java/com/dreamworks/boditech/driver/actuator/ActuatorModule.java @@ -20,6 +20,7 @@ public class ActuatorModule { public static Integer ANALYSIS_PUSH_MOTOR = 92; public static Integer ANALYSIS_SCAN_MOTOR = 91; public static Integer ANALYSIS_SCAN_SCANNER = 93; + public static Integer TEST_CARD_BOX_CASE = 20; public static Integer MODULE_STATUS_IDLE = 0; public static Integer MODULE_STATUS_BUSY = 1; diff --git a/src/main/java/com/dreamworks/boditech/driver/task/TaskTestCardLoad.java b/src/main/java/com/dreamworks/boditech/driver/task/TaskTestCardLoad.java index 055155d..eccedad 100644 --- a/src/main/java/com/dreamworks/boditech/driver/task/TaskTestCardLoad.java +++ b/src/main/java/com/dreamworks/boditech/driver/task/TaskTestCardLoad.java @@ -2,6 +2,7 @@ package com.dreamworks.boditech.driver.task; import com.dreamworks.boditech.driver.Device; import com.dreamworks.boditech.driver.actuator.ActArmXY; import com.dreamworks.boditech.driver.actuator.ActCodeScanner; +import com.dreamworks.boditech.driver.actuator.ActModuleTestCardBoxCase; import com.dreamworks.boditech.driver.actuator.ActuatorModule; public class TaskTestCardLoad extends TaskBase { @Override @@ -10,7 +11,11 @@ public class TaskTestCardLoad extends TaskBase { ActArmXY armXY = (ActArmXY)device.getActuator(ActuatorModule.ARM_XY); ActCodeScanner codeScanner = (ActCodeScanner)device.getActuator(ActuatorModule.ARM_Z_SCANNER); - // @TODO :需要检查板夹仓是否盖上 + // 检查试卡盒仓盖是否关闭 + ActModuleTestCardBoxCase testCardBoxCase = (ActModuleTestCardBoxCase)device.getActuator(ActuatorModule.TEST_CARD_BOX_CASE); + if ( 1 == testCardBoxCase.readIO(ActModuleTestCardBoxCase.IO_CASE_COVER_CLOSED) ) { + throw new RuntimeException("TEST_CARD_BOX_CASE_COVER_NOT_CLOSED"); + } Integer scanStartX = device.getLocationByName("testCardScanStart.x"); Integer scanStartY = device.getLocationByName("testCardScanStart.y"); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 3d77433..21eca79 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -8,7 +8,7 @@ spring: app: device: debug : true - connectionType : WebSocket # SerialPort, WebSocket + connectionType : SerialPort # SerialPort, WebSocket path : COM3 baudrate : 921600 wsuri : ws://192.168.8.10:19005