From 7abaf002f0c831a76c9b4e49db7ee1548940d487 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 16 九月 2025 09:43:46 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/core/thread/impl/NormalLedThread.java | 66 +++++++++++++++++++++++++++-----
1 files changed, 55 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..883155c 100644
--- a/src/main/java/com/zy/core/thread/impl/NormalLedThread.java
+++ b/src/main/java/com/zy/core/thread/impl/NormalLedThread.java
@@ -1,19 +1,28 @@
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.Data;
import lombok.extern.slf4j.Slf4j;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+@Data
@Slf4j
@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 +32,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 +94,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 +112,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