From 1bda9524add969e315d870f284046ecf1097f956 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期日, 24 八月 2025 18:01:25 +0800
Subject: [PATCH] 修改

---
 src/dell55AAData/Dell55AA12HighPerf.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/src/dell55AAData/Dell55AA12HighPerf.java b/src/dell55AAData/Dell55AA12HighPerf.java
index 46f169a..d27ad7f 100644
--- a/src/dell55AAData/Dell55AA12HighPerf.java
+++ b/src/dell55AAData/Dell55AA12HighPerf.java
@@ -1,5 +1,7 @@
 package dell55AAData;
 
+import dell_system.MessageViewPanel;
+
 public class Dell55AA12HighPerf {
     
     // 协议常量
@@ -8,6 +10,9 @@
     private static final int MIN_LENGTH = 34; // 最小数据长度
     private static final ThreadLocal<ParseResult> RESULT_CACHE = // 解析结果缓存
         ThreadLocal.withInitial(ParseResult::new);
+ // 重用StringBuilder减少内存分配
+ 	private static final ThreadLocal<StringBuilder> hexDataBuilder = 
+ 			ThreadLocal.withInitial(() -> new StringBuilder(64));
 
     // 解析结果类
     public static class ParseResult { 
@@ -84,6 +89,37 @@
         // 解析锚点信息
         parseAnchorInfo(chars, result);
         
+        if (MessageViewPanel.isWindowVisible) {
+        	// 组装基站信息
+            StringBuilder ids = new StringBuilder();
+            StringBuilder dists = new StringBuilder();
+            StringBuilder powers = new StringBuilder();
+            for (int i = 0; i < result.anchorCount; i++) {
+                if (i > 0) {
+                    ids.append(',');
+                    dists.append(',');
+                    powers.append(',');
+                }
+                ids.append(result.anchorIds[i]);
+                dists.append(result.distances[i]);
+                powers.append(result.anchorPowers[i]);
+            }
+			StringBuilder sb = hexDataBuilder.get();
+			  sb.append("55AA12 ,Seq:").append(result.sequenceNum)
+              .append(",Tagid:").append(result.tagId)
+              .append(",Power: ").append(result.power).append("%")
+              .append(",button:").append(result.sosButtonPressed)
+              .append(",Static:").append(result.isStatic )
+              .append(",Sleep:").append(result.isSleeping )
+              .append(",State:").append(result.vibrationState )
+              .append(",TagRemoved:").append(result.tagRemoved)
+              .append(",TagHeight:").append(result.tagHeight)
+              .append(",AncNum:").append(result.anchorCount)
+              .append(",AncIds:[").append(ids)
+              .append("],Dis:[").append(dists)
+              .append("],AncPowers:[").append(powers).append("]").append('\n');              
+			MessageViewPanel.showData(sb.toString(), ip, port, 0, "UDPA", "55AA12",result.tagId);
+		}
         return result;
     }
 

--
Gitblit v1.9.3