From cbfd1df513c473dd5550d78740c92fc1677b6e9b Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 27 十二月 2025 13:40:42 +0800
Subject: [PATCH] 异形有障碍物路径规划没完成
---
src/chuankou/SerialPortService.java | 22 +++++++++++++---------
1 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/src/chuankou/SerialPortService.java b/src/chuankou/SerialPortService.java
index 64a0b60..4895976 100644
--- a/src/chuankou/SerialPortService.java
+++ b/src/chuankou/SerialPortService.java
@@ -1,10 +1,12 @@
package chuankou;
-import com.fazecast.jSerialComm.SerialPort;
+
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.function.Consumer;
+// import java.util.function.Consumer;
+
+import com.fazecast.jSerialComm.SerialPort;
public class SerialPortService {
@@ -16,12 +18,12 @@
private volatile boolean capturing = false;
private volatile boolean paused = true;
private Thread readerThread;
- private Consumer<byte[]> responseConsumer;
+ private DataListener<byte[]> responseConsumer;
// 浼樺寲锛氶噸鐢ㄧ紦鍐插尯锛屽噺灏戝唴瀛樺垎閰�
private byte[] readBuffer = new byte[200];
private ByteArrayOutputStream buffer = new ByteArrayOutputStream(1024);
- private Consumer<byte[]> dataReceivedCallback;
+ private DataListener<byte[]> dataReceivedCallback;
// 鏂板锛氭暟鎹潯鏁拌鏁板櫒
@@ -95,7 +97,7 @@
if (dataReceivedCallback != null) {
startCapture(dataReceivedCallback);
} else {
- System.err.println("No data received callback set. Please call startCapture(Consumer<byte[]> onReceived) first.");
+ System.err.println("No data received callback set. Please call startCapture(DataListener<byte[]> onReceived) first.");
}
}
@@ -113,7 +115,7 @@
return port.openPort();
}
- public void setResponseConsumer(Consumer<byte[]> consumer) {
+ public void setResponseConsumer(DataListener<byte[]> consumer) {
this.responseConsumer = consumer;
}
@@ -131,13 +133,15 @@
/**
* 鍚姩鏁版嵁鎺ユ敹绾跨▼
*/
- public void startCapture(Consumer<byte[]> onReceived) {
+ public void startCapture(DataListener<byte[]> onReceived) {
this.dataReceivedCallback = onReceived;
if (capturing || port == null || !port.isOpen()) return;
capturing = true;
paused = false;
- readerThread = new Thread(() -> {
+ readerThread = new Thread(new Runnable() {
+ @Override
+ public void run() {
buffer.reset();
long lastReceivedTime = 0;
@@ -187,7 +191,7 @@
responseConsumer.accept(data);
}
}
- });
+ } });
readerThread.setDaemon(true);
readerThread.start();
}
--
Gitblit v1.10.0