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/udp_get.py | 57 +++++++++++++++++++++++----------------------------------
1 files changed, 23 insertions(+), 34 deletions(-)
diff --git a/src/utils/udp_get.py b/src/utils/udp_get.py
index 1dcea13..bf4f68e 100644
--- a/src/utils/udp_get.py
+++ b/src/utils/udp_get.py
@@ -12,26 +12,12 @@
# os.makedirs(file_folder)
# print(f"make a new folder: {file_folder}")
-packed_count = 0
-
class PointCloudUDPRequestHandler(BaseRequestHandler):
def handle(self):
-
- global packed_count
- global path
-
- if packed_count == 0:
- start = datetime.datetime.now()
- if not os.path.exists(save_folder):
- os.mkdir(save_folder)
- if sub_folder is not None:
- path = os.path.join(save_folder,sub_folder)
- else:
- path = os.path.join(save_folder,f"{device_id}-{start.strftime('%Y-%m-%d-%H-%M-%S')}")
- if not os.path.exists(path):
- os.mkdir(path)
- path = os.path.abspath(path)
+ packet_threshold = self.server.packet_threshold
+ packed_count = self.server.packed_count
+ path = self.server.path
print(time.asctime(),' Got connection from {}, {}'.format(self.client_address, packed_count))
# Get message and client socket
@@ -40,29 +26,33 @@
f = open('{}/{}_packet{}.udp'.format(path,time_tag,packed_count), 'wb')
f.write(msg)
f.close()
- packed_count += 1
+ self.server.packed_count += 1
+ self.server.udp_list.append(msg)
if packed_count >= packet_threshold:
- UDPServer.server_close(server)
-
+ UDPServer.server_close(self.server)
def udp_get_tool(microwaveHost,packetThreshold,deviceName,saveFolder,subFolder):
- global packet_threshold
- packet_threshold = packetThreshold,
- global device_id
- device_id = deviceName
- global save_folder
- save_folder = saveFolder
- global sub_folder
- sub_folder = subFolder
-
- global server
-
- # host = ''
+ # host = ''
# host = '192.168.2.65' # use this host to get the udp data from microwave device
port = 9911
server =UDPServer((microwaveHost, port), PointCloudUDPRequestHandler)
+
+
+ if subFolder is not None:
+ path = os.path.join(saveFolder,subFolder)
+ else:
+ start = datetime.datetime.now()
+ path = os.path.join(saveFolder,f"{deviceName}-{start.strftime('%Y-%m-%d-%H-%M-%S')}")
+ if not os.path.exists(path):
+ os.makedirs(path)
+
+ server.path = os.path.abspath(path)
+ server.packet_threshold = packetThreshold
+ server.packed_count = 0
+ server.udp_list = []
+
print(time.asctime(),'Server started on port', port)
print('....')
print('ctrl-c to quit server.')
@@ -74,8 +64,7 @@
except:
server.server_close()
print(time.asctime(),"Server Stopped")
-
-
+ return server.udp_list
if __name__ == '__main__':
--
Gitblit v1.9.1