From 1c8e32b4a45c1865e2a422e9949c1e996df861a6 Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期四, 25 十二月 2025 16:01:17 +0800
Subject: [PATCH] 新增了凸形有障碍物地块路径规划未完成

---
 src/udpdell/UDPServer.java |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/src/udpdell/UDPServer.java b/src/udpdell/UDPServer.java
index 7243090..a39a094 100644
--- a/src/udpdell/UDPServer.java
+++ b/src/udpdell/UDPServer.java
@@ -6,9 +6,9 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicInteger;
-
 import gecaoji.Device;
 import zhuye.Coordinate;
+import publicway.Gpstoxuzuobiao;
 
 public class UDPServer {
 	private static final int PORT = 7000; // 榛樿UDP鐩戝惉绔彛
@@ -81,21 +81,30 @@
 		}
 
 		// 妫�鏌ュ寘澶存槸鍚︽纭�
-		if (!fields[0].equals("$GNGGA")) {
+		if (!fields[0].equals("$GNGGA") && !fields[0].equals("$GPGGA") && !fields[0].equals("$GBGGA")) {
 			System.err.println("Invalid message header: " + fields[0]);
 			return;
 		}
 		int sequence = incrementReceivedPacketCounter();
 		System.out.println("鏀跺埌浜嗗樊鍒嗘暟鎹�(" + sequence + ")锛�" + message);
+
+		// 浣跨敤Gpstoxuzuobiao澶勭悊骞惰幏鍙朮Y鍧愭爣
+		double[] xy = Gpstoxuzuobiao.processGNGGAToXY(message);
+		if (xy != null) {
+			// 杩欓噷鍙互灏哫Y鍧愭爣浼犻�掔粰鍏朵粬鏂规硶浣跨敤
+			// System.out.println("UDP GNGGA -> XY: " + xy[0] + ", " + xy[1]);
+		}
+
 		Coordinate.parseGNGGAToCoordinateList(message);
 		int count = Coordinate.coordinates.size();
 		System.out.println("savenum:" + count);
 
 		Device.updateFromGNGGA(message, fields[15]);
 	}
-	
-	/**澶勭悊涓插彛鎺ユ敹鍒扮殑鏁版嵁*/
+
+	/** 澶勭悊涓插彛鎺ユ敹鍒扮殑鏁版嵁 */
 	public static void processSerialData(String message) {
+		message=message.replace("GPGGA", "GNGGA");
 		String[] fields = message.split(",");
 		// 妫�鏌ュ瓧娈垫暟閲忔槸鍚﹀畬鏁�
 		if (fields.length < 15) {
@@ -104,12 +113,20 @@
 		}
 
 		// 妫�鏌ュ寘澶存槸鍚︽纭�
-		if (!fields[0].equals("$GNGGA")) {
+		if (!fields[0].equals("$GNGGA")&&!fields[0].equals("$GPGGA")&&!fields[0].equals("$GBGGA")) {
 			System.err.println("Invalid message header: " + fields[0]);
 			return;
 		}
 		int sequence = incrementReceivedPacketCounter();
 		System.out.println("鏀跺埌浜嗕覆鍙f暟鎹�(" + sequence + ")锛�" + message);
+
+		// 浣跨敤Gpstoxuzuobiao澶勭悊骞惰幏鍙朮Y鍧愭爣
+		double[] xy = Gpstoxuzuobiao.processGNGGAToXY(message);
+		if (xy != null) {
+			// 杩欓噷鍙互灏哫Y鍧愭爣浼犻�掔粰鍏朵粬鏂规硶浣跨敤
+			// System.out.println("Serial GNGGA -> XY: " + xy[0] + ", " + xy[1]);
+		}
+
 		Coordinate.dellchuankougngga(message);
 		int count = Coordinate.coordinates.size();
 		System.out.println("savenum:" + count);

--
Gitblit v1.10.0