From a6077217e25f5804027194a5c2848e773eda1abd Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期五, 21 十一月 2025 15:47:17 +0800
Subject: [PATCH] 修改

---
 src/publicway/SerialProtocolParser.java |   35 +++++++++++++++++++++++------------
 1 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/src/publicway/SerialProtocolParser.java b/src/publicway/SerialProtocolParser.java
index f342178..e68a786 100644
--- a/src/publicway/SerialProtocolParser.java
+++ b/src/publicway/SerialProtocolParser.java
@@ -6,7 +6,12 @@
 import java.util.concurrent.TimeUnit;
 
 import chuankou.SerialPortService;
+import chushihua.SlotManager;
+import chushihua.lunxun;
+import dialog.Charulog;
+import dialog.Dingshidialog;
 import publicway.ProtocolParser01.ParseResult;
+import xitongshezhi.SystemDebugDialog;
 
 public class SerialProtocolParser {
     
@@ -59,7 +64,7 @@
         processorThread.setDaemon(true);
         processorThread.start();
         
-        //System.out.println("涓插彛鍗忚瑙f瀽鍣ㄥ凡鍚姩");
+        //System.out.println("涓插彛鍗忚瑙f瀽鍣ㄥ凡鍚姩 - 鐙珛浜庤疆璇㈢姸鎬佽繍琛�");
     }
     
     /**
@@ -113,15 +118,15 @@
      */
     public void receiveData(byte[] rawData) {    	
         if (!isRunning) {
-            //System.out.println("璀﹀憡: 涓插彛鍗忚瑙f瀽鍣ㄦ湭鍚姩锛屽拷鐣ユ帴鏀剁殑鏁版嵁");
-            return;
+            // 濡傛灉瑙f瀽鍣ㄦ湭杩愯锛岃嚜鍔ㄥ惎鍔�
+            start();
         }
         
         if (rawData == null || rawData.length == 0) {
             return;
         }
         
-        // 灏嗘暟鎹坊鍔犲埌鎵归噺闃熷垪
+        // 灏嗘暟鎹坊鍔犲埌鎵归噺闃熷垪 - 纭繚濮嬬粓鎵ц
         if (!batchQueue.offer(rawData)) {
             System.err.println("鎵归噺闃熷垪宸叉弧锛屼涪寮冩暟鎹�");
         }
@@ -250,14 +255,14 @@
      * 澶勭悊鏁版嵁鍖呯殑涓绘柟娉�
      */
     private void processPackets() {
-        //System.out.println("涓插彛鏁版嵁鍖呭鐞嗙嚎绋嬪紑濮嬭繍琛�");
+        System.out.println("涓插彛鏁版嵁鍖呭鐞嗙嚎绋嬪紑濮嬭繍琛�");
         
         while (isRunning && !Thread.currentThread().isInterrupted()) {
             try {
                 byte[] packet = dataQueue.take(); // 闃诲鐩村埌鏈夋暟鎹�
                 parsePacket(packet);
             } catch (InterruptedException e) {
-                //System.out.println("涓插彛鏁版嵁鍖呭鐞嗙嚎绋嬭涓柇");
+                System.out.println("涓插彛鏁版嵁鍖呭鐞嗙嚎绋嬭涓柇");
                 Thread.currentThread().interrupt();
                 break;
             } catch (Exception e) {
@@ -266,7 +271,7 @@
             }
         }
         
-        //System.out.println("涓插彛鏁版嵁鍖呭鐞嗙嚎绋嬬粨鏉熻繍琛�");
+        System.out.println("涓插彛鏁版嵁鍖呭鐞嗙嚎绋嬬粨鏉熻繍琛�");
     }
     
     /**
@@ -278,8 +283,7 @@
             // 瑙f瀽鍩烘湰瀛楁
             byte hostAddress = packet[4];        // 涓绘満鍦板潃
             byte slotAddress = packet[5];        // 鍗℃Ы鍦板潃
-            byte functionCode = packet[6];       // 鍔熻兘鐮�
-            
+            byte functionCode = packet[6];       // 鍔熻兘鐮�           
             // 鏁版嵁闀垮害 (浠庡崗璁腑璇诲彇)
             int dataLength = ((packet[2] & 0xFF) << 8) | (packet[3] & 0xFF);
             
@@ -298,17 +302,24 @@
                         // 浣跨敤浼樺寲鐨勫瓧鑺傛暟缁勮В鏋愭柟娉曪紝閬垮厤瀛楃涓茶浆鎹�
                         ParseResult rst = ProtocolParser01.parseDDCC01Data(packet);
                         rst.fuzhi();
-//                        rst.toString();
+//                        System.out.println(rst.toString());      
+                        if (lunxun.DEBUG_ENABLED) {
+                            SystemDebugDialog.appendAsciiData(rst.toString());
+                        }
+                        
                     }
                     break;
                 case FUNCTION_51:
                     // 璋冪敤 ProtocolParser51 澶勭悊鏁版嵁
                     String hexPacket = bytesToHex(packet);
                     int result = ProtocolParser51.parse(hexPacket);
+                    int slot = slotAddress;
                     if (result == 1) {
-                        //System.out.println("鍔熻兘鐮� 0x51 - 寮�闂ㄦ帶鍒舵垚鍔�");
+//                    	Dingshidialog.showTimedDialog(null, 5,slot+"鍙峰崱妲藉嚭鍗℃垚鍔熻鍙栬蛋鍗�...");
+                    	SlotManager.changgehaska(slot, result);
                     } else {
-                        //System.out.println("鍔熻兘鐮� 0x51 - 寮�闂ㄦ帶鍒跺け璐ユ垨鎶ユ枃涓嶅悎娉�");
+                    	String message=slot+"鍙峰崱妲藉彇鍗″け璐�";
+                        Charulog.logOperation(message);
                     }
                     break;
                 case FUNCTION_52:

--
Gitblit v1.9.3