From 8d662de2fd262b3a485f16e197cb4d0ca2a61cdf Mon Sep 17 00:00:00 2001
From: zsh_root <979909237@qq.com>
Date: 星期三, 10 十二月 2025 17:03:47 +0800
Subject: [PATCH] 发布版V1.0

---
 src/jiexi/Dell55AA01Parser.java |   60 ++++++++++++++++++++++++++++++------------------------------
 1 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/src/jiexi/Dell55AA01Parser.java b/src/jiexi/Dell55AA01Parser.java
index 3963a31..f1ced49 100644
--- a/src/jiexi/Dell55AA01Parser.java
+++ b/src/jiexi/Dell55AA01Parser.java
@@ -1,20 +1,20 @@
 package jiexi;
 import java.util.Arrays;
 public class Dell55AA01Parser {
-	// 常量定义
-	private static final String EXPECTED_HEADER = "55AA01"; // 协议头
-	private static final int MIN_LENGTH = 42; // 最小长度(21字节*2字符)
+	// 甯搁噺瀹氫箟
+	private static final String EXPECTED_HEADER = "55AA01"; // 鍗忚澶�
+	private static final int MIN_LENGTH = 42; // 鏈�灏忛暱搴�(21瀛楄妭*2瀛楃)
 	private static final ThreadLocal<ParseResult> RESULT_CACHE = 
 			ThreadLocal.withInitial(ParseResult::new);
 
-	// 解析结果类
+	// 瑙f瀽缁撴灉绫�
 	public static class ParseResult {
-		public int sequenceNum;   // 序列号
-		public String tagId;      // 标签ID(4字节小端序)
-		public String anchorId;   // 锚点ID(4字节小端序)
-		public int distance;      // 距离(毫米)
-		public int power;         // 电量(0-100)
-		public int buttonPressed; // 按钮状态
+		public int sequenceNum;   // 搴忓垪鍙�
+		public String tagId;      // 鏍囩ID(4瀛楄妭灏忕搴�)
+		public String anchorId;   // 閿氱偣ID(4瀛楄妭灏忕搴�)
+		public int distance;      // 璺濈(姣背)
+		public int power;         // 鐢甸噺(0-100)
+		public int buttonPressed; // 鎸夐挳鐘舵��
 		public boolean buttonPressed2;
 		public void reset() {
 			sequenceNum = 0;
@@ -28,24 +28,24 @@
 	}
 
 	/**
-	 * 解析55AA01协议数据
-	 * @param message 十六进制字符串
-	 * @return 解析结果(错误时返回null)
+	 * 瑙f瀽55AA01鍗忚鏁版嵁
+	 * @param message 鍗佸叚杩涘埗瀛楃涓�
+	 * @return 瑙f瀽缁撴灉(閿欒鏃惰繑鍥瀗ull)
 	 */
 	public static ParseResult parse(String message, String ip, int port) {
 		if (message == null || message.isEmpty()) {
 			return null;
 		}
 
-		// 清洗数据:移除所有非十六进制字符
+		// 娓呮礂鏁版嵁锛氱Щ闄ゆ墍鏈夐潪鍗佸叚杩涘埗瀛楃
 		char[] cleanedMessage = cleanMessage(message);
 
-		// 数据校验
+		// 鏁版嵁鏍¢獙
 		if (cleanedMessage == null || cleanedMessage.length < MIN_LENGTH) {
 			return null;
 		}
 
-		// 协议头校验 (55AA01)
+		// 鍗忚澶存牎楠� (55AA01)
 		if (!new String(cleanedMessage, 0, 6).equals(EXPECTED_HEADER)) {
 			return null;
 		}
@@ -54,37 +54,37 @@
 		result.reset();
 
 		try {
-			if (cleanedMessage.length < 30) { // 确保有足够长度访问charAt(28)
+			if (cleanedMessage.length < 30) { // 纭繚鏈夎冻澶熼暱搴﹁闂甤harAt(28)
 				return null;
 			}
 
-			// 解析序列号 (位置8-9)
+			// 瑙f瀽搴忓垪鍙� (浣嶇疆8-9)
 			result.sequenceNum = HexUtils.fastHexToByte(cleanedMessage[8], cleanedMessage[9]);
 
-			// 解析标签ID (位置10-13, 小端序)
+			// 瑙f瀽鏍囩ID (浣嶇疆10-13, 灏忕搴�)
 			result.tagId = new String(new char[]{
-					cleanedMessage[12], cleanedMessage[13], // 高位
-					cleanedMessage[10], cleanedMessage[11]  // 低位
+					cleanedMessage[12], cleanedMessage[13], // 楂樹綅
+					cleanedMessage[10], cleanedMessage[11]  // 浣庝綅
 			});
 
-			// 解析锚点ID (位置14-17, 小端序)
+			// 瑙f瀽閿氱偣ID (浣嶇疆14-17, 灏忕搴�)
 			result.anchorId = new String(new char[]{
-					cleanedMessage[16], cleanedMessage[17], // 高位
-					cleanedMessage[14], cleanedMessage[15]  // 低位
+					cleanedMessage[16], cleanedMessage[17], // 楂樹綅
+					cleanedMessage[14], cleanedMessage[15]  // 浣庝綅
 			});
 
-			// 解析距离 (位置18-25, 4字节小端整数)
-			int b0 = HexUtils.fastHexToByte(cleanedMessage[18], cleanedMessage[19]); // 最低位
+			// 瑙f瀽璺濈 (浣嶇疆18-25, 4瀛楄妭灏忕鏁存暟)
+			int b0 = HexUtils.fastHexToByte(cleanedMessage[18], cleanedMessage[19]); // 鏈�浣庝綅
 			int b1 = HexUtils.fastHexToByte(cleanedMessage[20], cleanedMessage[21]);
 			int b2 = HexUtils.fastHexToByte(cleanedMessage[22], cleanedMessage[23]);
-			int b3 = HexUtils.fastHexToByte(cleanedMessage[24], cleanedMessage[25]); // 最高位
+			int b3 = HexUtils.fastHexToByte(cleanedMessage[24], cleanedMessage[25]); // 鏈�楂樹綅
 			int raw = (b3 << 24) | (b2 << 16) | (b1 << 8) | b0;
-			result.distance = raw; // 保持原始整数值
+			result.distance = raw; // 淇濇寔鍘熷鏁存暟鍊�
 
-			// 解析电量 (位置26-27)
+			// 瑙f瀽鐢甸噺 (浣嶇疆26-27)
 			result.power = HexUtils.fastHexToByte(cleanedMessage[26], cleanedMessage[27]);
 
-			// 解析按钮状态 (位置28-29)
+			// 瑙f瀽鎸夐挳鐘舵�� (浣嶇疆28-29)
 			result.buttonPressed = HexUtils.fastHexToByte(cleanedMessage[28], cleanedMessage[29]);
 			result.buttonPressed2 =result.buttonPressed==1;			
 

--
Gitblit v1.10.0