wu_xinjun
2022-05-13 13530d0ad2c32608d0b46a5c16ad4ac0c25b59f1
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")