1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| 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 np.arange(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")
|
|