| | |
| | | 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 |
| | | |
| | | |
| | | |
| | | |
| | | |