from gnuradio import gr,blocks import pmt import sys from gnuradio.blocks import parse_file_metadata import numpy as np filename ='data.bin' max_data_segments_to_read = 3 print_output = True fh = open(filename, "rb") for ii in range(max_data_segments_to_read): header_str = fh.read(parse_file_metadata.HEADER_LENGTH) header = pmt.deserialize_str(header_str) print(f"\n===Data segment {ii} ===") header_info = parse_file_metadata.parse_header(header, print_output) if(header_info["extra_len"] > 0): extra_str = fh.read(header_info["extra_len"]) if(len(extra_str) != 0): extra = pmt.deserialize_str(extra_str) extra_info = parse_file_metadata.parse_extra_dict(extra, header_info, print_output) data=np.fromfile(file=fh, dtype=np.float32, count=int(header_info['nitems']), sep='', offset=0) print(f"{len(data)} data elements read") fh.close()