# Script that imports a FFF subghz file and draws a timing graph # Example line: # RAW_Data: 379 -798 807 -404 377 -798 805 -802 405 -396 393 -396 397 -394 # Where the numbers are the timings between changes from 0 to 1 and vice versa # Positive numbers are rising edges, negative numbers are falling edges # Setup dependencies import matplotlib.pyplot as plt # Setup arguments import argparse parser = argparse.ArgumentParser(description='Draw a subghz file') parser.add_argument('-f', '--file', help='Subghz file to draw', required=True) args = parser.parse_args() # Read in the file with open(args.file, 'r') as f: lines = f.readlines() # Trim the lines data = [] for line in lines: if "RAW_Data:" in line: data.append(line.split("RAW_Data: ")[1].strip()) # Split the data into a list of individual timings timings = [] for line in data: timings.append(line.split()) # Convert the list of lists into a single list of numbers timings = [int(x) for x in timings[0]] # Convert timings to a stream of 0s and 1s stream = [] for timing in timings: if timing > 0: for i in range(timing): stream.append(1) else: for i in range(abs(timing)): stream.append(0) # Draw the graph plt.plot(stream) #Show the graph plt.show() # End of script