|
|
@ -131,7 +131,7 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
deviceMessageHandler.setLatch(latch); |
|
|
|
// z轴回原点 |
|
|
|
if (originZ(emitter, frontCmdId, frontCmdName)) return; |
|
|
|
boolean finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
boolean finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
@ -141,10 +141,9 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
deviceMessageHandler.setLatch(latch); |
|
|
|
// x轴回原点 |
|
|
|
if (originX(emitter, frontCmdId, frontCmdName)) return; |
|
|
|
|
|
|
|
// y轴回原点 |
|
|
|
if (originY(emitter, frontCmdId, frontCmdName)) return; |
|
|
|
finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
@ -168,7 +167,7 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
latch = new CountDownLatch(1); |
|
|
|
deviceMessageHandler.setLatch(latch); |
|
|
|
if (moveZ(emitter, height, frontCmdId, frontCmdName)) return; |
|
|
|
finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
@ -207,14 +206,16 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
//移动xy到slide(玻片)的位置 |
|
|
|
latch = new CountDownLatch(2); |
|
|
|
deviceMessageHandler.setLatch(latch); |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "xy移动到玻片位置",slide), MediaType.APPLICATION_JSON); |
|
|
|
if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; |
|
|
|
if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; |
|
|
|
finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
|
return; |
|
|
|
} |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "开始按照路径喷涂",slide), MediaType.APPLICATION_JSON); |
|
|
|
if ("horizontal".equals(matrixPathType)) { //生成路径(从“左上角”往下的水平之字形) String matrixPathType = (String) param.get("matrix_path_type");//喷涂路径类型 horizontal | vertical | grid |
|
|
|
for (int i = 0; i < times; i++) { |
|
|
|
double topReal = top; |
|
|
@ -236,7 +237,7 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
deviceMessageHandler.setLatch(latch); |
|
|
|
if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; |
|
|
|
if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; |
|
|
|
finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
@ -265,7 +266,7 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
deviceMessageHandler.setLatch(latch); |
|
|
|
if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; |
|
|
|
if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; |
|
|
|
finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
@ -297,31 +298,31 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
spacing, |
|
|
|
PathGenerator.MoveMode.HORIZONTAL_ZIGZAG_TOP_DOWN |
|
|
|
); |
|
|
|
// if (pathSpray(emitter, frontCmdId, frontCmdName, volume, pathList, movingSpeed)) return;//路径喷涂 |
|
|
|
if (pathSpray(emitter, frontCmdId, frontCmdName, volume, pathList, movingSpeed)) return;//路径喷涂 |
|
|
|
if (i + 1 != times) { //如果不是最后一次,执行完毕后回到玻片原点 |
|
|
|
log.info("123"); |
|
|
|
// latch = new CountDownLatch(2); |
|
|
|
// deviceMessageHandler.setLatch(latch); |
|
|
|
// if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; |
|
|
|
// if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; |
|
|
|
// finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
// if (!finished) { |
|
|
|
// emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
// emitter.complete(); |
|
|
|
// return; |
|
|
|
// } |
|
|
|
latch = new CountDownLatch(2); |
|
|
|
deviceMessageHandler.setLatch(latch); |
|
|
|
if (moveX(emitter, slide[0], frontCmdId, frontCmdName)) return; |
|
|
|
if (moveY(emitter, slide[1], frontCmdId, frontCmdName)) return; |
|
|
|
finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
/* //10.关高压电 |
|
|
|
//10.关高压电 |
|
|
|
if (highVoltageClose(emitter, frontCmdId, frontCmdName)) return; |
|
|
|
//11.回到原点 motorMoveToHome 先 z |
|
|
|
latch = new CountDownLatch(1); |
|
|
|
deviceMessageHandler.setLatch(latch); |
|
|
|
// z轴回原点 |
|
|
|
if (originZ(emitter, frontCmdId, frontCmdName)) return; |
|
|
|
finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
@ -334,14 +335,14 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
|
|
|
|
// y轴回原点 |
|
|
|
if (originY(emitter, frontCmdId, frontCmdName)) return; |
|
|
|
finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
|
return; |
|
|
|
} |
|
|
|
//12.结束日志 |
|
|
|
//TODO写日志*/ |
|
|
|
//TODO写日志 |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "指令执行完毕"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
|
} |
|
|
@ -491,7 +492,7 @@ public class MatrixSprayStart implements CommandHandler { |
|
|
|
//移动x与y到点位 |
|
|
|
if (moveX(emitter, p.getX(), frontCmdId, frontCmdName)) return true; |
|
|
|
if (moveY(emitter, 75.5 - p.getY(), frontCmdId, frontCmdName)) return true; |
|
|
|
boolean finished = latch.await(10, TimeUnit.SECONDS); |
|
|
|
boolean finished = latch.await(5 * 60 , TimeUnit.SECONDS); |
|
|
|
if (!finished) { |
|
|
|
emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "等待指令执行完成超时"), MediaType.APPLICATION_JSON); |
|
|
|
emitter.complete(); |
|
|
|