From 7662f4db87c6e5510d4f2429900012f871497ed6 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 14 四月 2025 12:57:10 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/core/thread/impl/NormalLedThread.java | 64 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/impl/NormalLedThread.java b/src/main/java/com/zy/core/thread/impl/NormalLedThread.java
index 50c4cd6..6921595 100644
--- a/src/main/java/com/zy/core/thread/impl/NormalLedThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NormalLedThread.java
@@ -1,6 +1,11 @@
package com.zy.core.thread.impl;
import com.zy.common.model.MatDto;
+import com.zy.core.Slave;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.LedSlave;
+import com.zy.core.model.Task;
import com.zy.core.model.command.LedCommand;
import com.zy.core.thread.LedThread;
import lombok.extern.slf4j.Slf4j;
@@ -13,7 +18,9 @@
@SuppressWarnings("all")
public class NormalLedThread implements LedThread, Runnable {
+ private Slave slave;
private Set<Integer> workNos = new HashSet<>();
+
private boolean ledMk = false;
private boolean resetStatus = false; // 澶嶄綅鐘舵��
@@ -23,9 +30,42 @@
private StringBuffer errorMsg = new StringBuffer();
+ public NormalLedThread(LedSlave ledSlave) {
+ this.slave = ledSlave;
+ }
+
@Override
+ @SuppressWarnings({"InfiniteLoopStatement", "unchecked"})
public void run() {
+ while (true) {
+ try {
+ Task task = MessageQueue.poll(SlaveType.Led, slave.getId());
+ if (task != null) {
+ switch (task.getStep()) {
+ // 鍐欐暟鎹�
+ case 1:
+ write((List<LedCommand>) task.getData());
+ break;
+ // 澶嶄綅
+ case 2:
+ reset();
+ break;
+ case 3:
+ error((String) task.getData());
+ break;
+ case 4:
+ errorReset();
+ break;
+ default:
+ break;
+ }
+ }
+ Thread.sleep(1000);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
public void write(List<LedCommand> list) {
@@ -52,11 +92,13 @@
errorReset();
}
+
public void reset() {
commandList = null;
+
stringBuffer.delete(0, stringBuffer.length());
- errorMsg.delete(0, errorMsg.length());
}
+
public void error(String msg) {
errorMsg.delete(0, errorMsg.length());
@@ -68,21 +110,21 @@
}
@Override
- public boolean connect() {
- return true;
- }
-
- @Override
- public void close() {
- }
-
- @Override
public void setLedMk(boolean mk) {
this.ledMk = mk;
}
@Override
public boolean isLedMk() {
- return this.ledMk;
+ return false;
+ }
+
+ @Override
+ public boolean connect() {
+ return true;
+ }
+
+ @Override
+ public void close() {
}
}
--
Gitblit v1.9.1