From 8f8099f618d6b910103555a04ae3b9830e1e6c92 Mon Sep 17 00:00:00 2001
From: wu_xinjun <bent20140204@outlook.com>
Date: 星期二, 22 三月 2022 13:00:56 +0800
Subject: [PATCH] optimization for auto slam
---
src/utils/udp2bin.py | 44 +++++++++++++++++++++++++++++++++-----------
1 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/src/utils/udp2bin.py b/src/utils/udp2bin.py
index 9715d43..dc3a703 100644
--- a/src/utils/udp2bin.py
+++ b/src/utils/udp2bin.py
@@ -11,25 +11,47 @@
from microwave.servers import MicroWaveReceiver
from .tools import file_fliter
-def udp2bin_tool(udp_folder):
+def udp2bin_tool(udp_folder_Or_list):
+ Save = True
+ bin_list = []
- UDPfolder = udp_folder
- # example pod1-2022-02-21-13-25-03_packet125.udp --> 125
- sort_lambda = lambda x:int(x.split('packet')[1][:-4])
- udp_files = file_fliter(UDPfolder,'udp', sort_lambda)
+ if isinstance(udp_folder_Or_list, list):
+ udp_files = udp_folder_Or_list
+ Save = False
+ else:
+ UDPfolder = udp_folder_Or_list
+ # example pod1-2022-02-21-13-25-03_packet125.udp --> 125
+ sort_lambda = lambda x:int(x.split('packet')[1][:-4])
+ udp_files = file_fliter(UDPfolder,'udp', sort_lambda)
+ Save = True
+
receiver = MicroWaveReceiver()
+
+
for file in udp_files:
- filename = os.path.join(UDPfolder, file)
- with open(filename, "rb") as f:
- data = f.read()
- receiver.AddBuf(data)
- if receiver.DataFrameReady:
- frame_number = receiver.Header.FrameNumber
+ data = None
+ if isinstance(file,str):
+ filename = os.path.join(UDPfolder, file)
+ with open(filename, "rb") as f:
+ data = f.read()
+ else:
+ data = file
+
+ receiver.AddBuf(data)
+ if receiver.DataFrameReady:
+ frame_number = receiver.Header.FrameNumber
+ if Save:
bin_name = os.path.join(UDPfolder, "{}.bin".format(frame_number))
print(time.asctime(),"Frame {} ready".format(frame_number))
with open(bin_name, "wb") as bin_file:
bin_file.write(receiver.DataFrame)
bin_file.close()
+
+ bin_list.append((frame_number,receiver.DataFrame))
+
+ return bin_list
+
+
--
Gitblit v1.9.1