import os,sys import numpy as np import time from ..microwave.deviceTools import udp_get_tool,udp2bin_tool,bin2ply_tool from .manualMode import manual_merge # cudir = os.path.abspath(os.path.join(__file__, *(['..'] * 1))) # exe_path = os.path.abspath(os.path.join(cudir,"../RUN/Test_Servo.exe")) def rotateAndMerge(servo_path,port,speed,degre_step,time_delay,alpha,beta,gamma,microwaveHost,udp_packets,deviceName,saveFolder): # 旋转机构复位 exe_path = os.path.abspath(servo_path) os.system(f"{exe_path} {port} 400 0") time.sleep(10) # 间隔获取udp for i in range(0,360,degre_step): os.system(f"{exe_path} {port} {speed} {i}") time.sleep(int(time_delay)) subFolder = str(-i) print (f"Geting udp files with {subFolder} degree ...") udp_get_tool(microwaveHost,udp_packets,deviceName,saveFolder,subFolder) # 旋转机构复位 os.system(f"{exe_path} {port} 100 0") # iterate the folder for root, dirs, files in os.walk(saveFolder,topdown=True): break for dir in dirs: # udp2bin bin2ply subdir = os.path.join(saveFolder,dir) udp2bin_tool(subdir) bin2ply_tool(subdir) # compose ply print("merge ply files, processing ...") manual_merge(saveFolder,alpha,beta,gamma,"data")