|
|
@ -6,6 +6,7 @@ import a8k.canbus.protocol.IOId; |
|
|
|
import a8k.canbus.protocol.MId; |
|
|
|
import a8k.appbean.ecode.AppRet; |
|
|
|
import a8k.canbus.A8kCanBusService; |
|
|
|
import a8k.canbus.protocol.RegIndex; |
|
|
|
import a8k.opt_algo.A8kOptAlgo; |
|
|
|
import a8k.utils.*; |
|
|
|
import jakarta.annotation.Resource; |
|
|
@ -34,7 +35,7 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
|
|
|
|
|
@HardwareServiceParam(name = "光学扫描超时时间", group = "基础参数") |
|
|
|
public Integer getOptScanOvertime() { |
|
|
|
return hpReader.getInteger("optScanOvertime", 10000); |
|
|
|
return hpReader.getInteger("optScanOvertime", 12000); |
|
|
|
} |
|
|
|
|
|
|
|
@HardwareServiceParam(name = "板夹仓通道0位置", group = "板夹仓参数") |
|
|
@ -100,6 +101,7 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
|
|
|
|
|
@HardwareServiceParam(name = "T光学扫描起始坐标", group = "光学模组参数") |
|
|
|
public Integer getTOptPosOffset() { |
|
|
|
//3509 |
|
|
|
return hpReader.getInteger("TOptPosOffset", 3723); |
|
|
|
} |
|
|
|
|
|
|
@ -354,9 +356,11 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
|
|
|
|
|
private AppRet<A8kScanCurve> packetOptDisplayScanCurve(List<Integer> scanDataCurve) { |
|
|
|
A8kScanCurve scanCurve = new A8kScanCurve(); |
|
|
|
logger.info("pointNum: " + scanDataCurve.size()); |
|
|
|
scanCurve.scanDataCurve = A8kOptAlgo.preProcessOptData(scanDataCurve); |
|
|
|
scanCurve.refCurve = A8kOptAlgo.preProcessOptData(scanDataCurve); |
|
|
|
scanCurve.refLine = new ArrayList<>(); |
|
|
|
logger.info("pointNum: " + scanCurve.scanDataCurve.size()); |
|
|
|
scanCurve.refCurve = A8kOptAlgo.preProcessOptData(scanDataCurve); |
|
|
|
scanCurve.refLine = new ArrayList<>(); |
|
|
|
for (int i = 1; i < 6; i++) { |
|
|
|
scanCurve.refLine.add(40 * i); |
|
|
|
} |
|
|
@ -365,13 +369,21 @@ public class ReactionPlatesTransmitCtrlService implements HardwareCtrlModule { |
|
|
|
|
|
|
|
@HardwareServiceAction(name = "T光学扫码", group = "光学调试") |
|
|
|
public AppRet<A8kScanCurve> optTScan(OptScanDirection direction, Integer scanerGain) throws HardwareException, InterruptedException { |
|
|
|
canBus.optTStartScanBlock(MId.OptMod, direction, getOptTLasterGain(), scanerGain, getOptScanOvertime()); |
|
|
|
return packetOptDisplayScanCurve(canBus.optReadRaw(MId.OptMod)); |
|
|
|
// |
|
|
|
// canBus.moduleSetReg(MId.OptMod, RegIndex.kreg_a8k_opt_t_pos_offset, getTOptPosOffset()); |
|
|
|
// canBus.moduleSetReg(MId.OptMod, RegIndex.kreg_a8k_opt_t_reverse_scan_pos_offset,getTOptPosOffset()-1200); |
|
|
|
// canBus.optTStartScanBlock(MId.OptMod, direction, getOptTLasterGain(), scanerGain, getOptScanOvertime()); |
|
|
|
// return packetOptDisplayScanCurve(canBus.optReadRaw(MId.OptMod)); |
|
|
|
return AppRet.fail(A8kEcode.CmdIdNotSupport); |
|
|
|
} |
|
|
|
|
|
|
|
@HardwareServiceAction(name = "F光学扫码", group = "光学调试") |
|
|
|
public AppRet<A8kScanCurve> optFScan(OptScanDirection direction, Integer scanerGain) throws HardwareException, InterruptedException { |
|
|
|
canBus.optFStartScanBlock(MId.OptMod, direction, getOptTLasterGain(), scanerGain, getOptScanOvertime()); |
|
|
|
//getFOptPosOffset |
|
|
|
canBus.moduleSetReg(MId.OptMod, RegIndex.kreg_a8k_opt_f_pos_offset, getFOptPosOffset()); |
|
|
|
canBus.moduleSetReg(MId.OptMod, RegIndex.kreg_a8k_opt_f_reverse_scan_pos_offset, getFOptPosOffset() - 1200); |
|
|
|
|
|
|
|
canBus.optFStartScanBlock(MId.OptMod, direction, getOptFLasterGain(), scanerGain, getOptScanOvertime()); |
|
|
|
return packetOptDisplayScanCurve(canBus.optReadRaw(MId.OptMod)); |
|
|
|
} |
|
|
|
|
|
|
|