From 09fcc4ec56a1ce6c0fcb308348d8dd5e2c08d336 Mon Sep 17 00:00:00 2001 From: fyxc <fyxc@qq.com> Date: 星期四, 22 五月 2025 14:33:06 +0800 Subject: [PATCH] server commit files --- 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