From 100f4dcea20a32663a07e91525de111f7515eb79 Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期五, 21 十一月 2025 17:25:53 +0800
Subject: [PATCH] 可发布版本202517.25
---
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