def main(): args = utils.ExampleArgumentParser().parse_args() utils.config_logging(args) if args.socket_addr: client = SocketClient(args.socket_addr) elif args.spi: client = SPIClient() else: port = args.serial_port or utils.autodetect_serial_port() client = UARTClient(port) config = configs.IQServiceConfig() config.sensor = args.sensors config.range_interval = [0.2, 0.6] config.update_rate = 50 info = client.start_session(config) interrupt_handler = utils.ExampleInterruptHandler() print("Press Ctrl-C to end session") fc = utils.FreqCounter(num_bits=(4 * 8 * info["data_length"])) while not interrupt_handler.got_signal: info, data = client.get_next() fc.tick() print("\nDisconnecting...") client.disconnect()
def get_sensor_config(): config = configs.IQServiceConfig() config.range_interval = [0.3, 0.8] config.update_rate = 80 config.gain = 0.5 config.repetition_mode = configs.IQServiceConfig.RepetitionMode.SENSOR_DRIVEN return config
def main(): args = utils.ExampleArgumentParser().parse_args() utils.config_logging(args) if args.socket_addr: client = SocketClient(args.socket_addr) elif args.spi: client = SPIClient() else: port = args.serial_port or utils.autodetect_serial_port() client = UARTClient(port) client.squeeze = False config = configs.IQServiceConfig() config.sensor = args.sensors config.update_rate = 60 session_info = client.setup_session(config) depths = utils.get_range_depths(config, session_info) fig_updater = ExampleFigureUpdater(depths) plot_process = PlotProcess(fig_updater) plot_process.start() client.start_session() interrupt_handler = utils.ExampleInterruptHandler() print("Press Ctrl-C to end session") while not interrupt_handler.got_signal: info, data = client.get_next() plot_data = { "amplitude": np.abs(data), "phase": np.angle(data), } try: plot_process.put_data(plot_data) except PlotProccessDiedException: break print("Disconnecting...") plot_process.close() client.disconnect()
def main(): args = utils.ExampleArgumentParser().parse_args() utils.config_logging(args) if args.socket_addr: client = SocketClient(args.socket_addr) elif args.spi: client = SPIClient() else: port = args.serial_port or utils.autodetect_serial_port() client = UARTClient(port) client.squeeze = False sensor_config = configs.IQServiceConfig() sensor_config.sensor = args.sensors sensor_config.range_interval = [0.2, 1.0] sensor_config.profile = sensor_config.Profile.PROFILE_2 sensor_config.sampling_mode = sensor_config.SamplingMode.B sensor_config.hw_accelerated_average_samples = 20 sensor_config.downsampling_factor = 2 session_info = client.setup_session(sensor_config) pg_updater = PGUpdater(sensor_config, None, session_info) pg_process = PGProcess(pg_updater) pg_process.start() client.start_session() interrupt_handler = utils.ExampleInterruptHandler() print("Press Ctrl-C to end session") while not interrupt_handler.got_signal: data_info, data = client.get_next() try: pg_process.put_data(data) except PGProccessDiedException: break print("Disconnecting...") pg_process.close() client.disconnect()
def get_sensor_config(): config = configs.IQServiceConfig() config.range_interval = [0.4, 0.8] config.update_rate = 60 config.gain = 0.6 return config
def __init__(self, demo_ctrl, params): super().__init__(demo_ctrl, self.detector_name) self.config = configs.IQServiceConfig() self.update_config(params)
def main(): args = utils.ExampleArgumentParser(num_sens=1).parse_args() utils.config_logging(args) if args.socket_addr: client = SocketClient(args.socket_addr) elif args.spi: client = SPIClient() else: port = args.serial_port or utils.autodetect_serial_port() client = UARTClient(port) config = configs.IQServiceConfig() config.sensor = args.sensors config.update_rate = 10 session_info = client.setup_session(config) depths = utils.get_range_depths(config, session_info) amplitude_y_max = 1000 fig, (amplitude_ax, phase_ax) = plt.subplots(2) fig.set_size_inches(8, 6) fig.canvas.set_window_title("Acconeer matplotlib example") for ax in [amplitude_ax, phase_ax]: ax.set_xlabel("Depth (m)") ax.set_xlim(config.range_interval) ax.grid(True) amplitude_ax.set_ylabel("Amplitude") amplitude_ax.set_ylim(0, 1.1 * amplitude_y_max) phase_ax.set_ylabel("Phase") utils.mpl_setup_yaxis_for_phase(phase_ax) amplitude_line = amplitude_ax.plot(depths, np.zeros_like(depths))[0] phase_line = phase_ax.plot(depths, np.zeros_like(depths))[0] fig.tight_layout() plt.ion() plt.show() interrupt_handler = utils.ExampleInterruptHandler() print("Press Ctrl-C to end session") client.start_session() while not interrupt_handler.got_signal: info, data = client.get_next() amplitude = np.abs(data) phase = np.angle(data) max_amplitude = np.max(amplitude) if max_amplitude > amplitude_y_max: amplitude_y_max = max_amplitude amplitude_ax.set_ylim(0, 1.1 * max_amplitude) amplitude_line.set_ydata(amplitude) phase_line.set_ydata(phase) if not plt.fignum_exists(1): # Simple way to check if plot is closed break fig.canvas.flush_events() print("Disconnecting...") plt.close() client.disconnect()
def get_sensor_config(): config = configs.IQServiceConfig() config.range_interval = [0.2, 0.8] config.update_rate = 30 return config
def main(): parser = utils.ExampleArgumentParser() parser.add_argument("-t", "--temp", type=str, required=True) parser.add_argument("-l", "--label", type=str, required=False) # Sätt till true sedan parser.add_argument("-o", "--output-file", type=str, required=True) parser.add_argument("-lim", "--limit-frames", type=int) #parser.add_argument("-a", "--angel", type=str, required=False) #parser.add_argument("-d", "--distance", type=str, required=True) args = parser.parse_args() utils.config_logging(args) try: float(args.temp) except: print("Temp value not a float. Make sure you use . instead of , !") sys.exit(1) valid_arguments = ["snow", "wet", "ice", "dry", "metal"] if args.label.lower() not in valid_arguments: print("Not a valid label. Only", *valid_arguments, sep=", "), print("are accepted labels!") sys.exit(1) if os.path.exists(args.output_file): print("File '{}' already exists, won't overwrite".format( args.output_file)) sys.exit(1) _, ext = os.path.splitext(args.output_file) if ext.lower() not in [".h5", ".npz"]: print("Unknown format '{}'".format(ext)) sys.exit(1) if args.limit_frames is not None and args.limit_frames < 1: print("Frame limit must be at least 1") sys.exit(1) if args.socket_addr: client = SocketClient(args.socket_addr) elif args.spi: client = SPIClient() else: port = args.serial_port or utils.autodetect_serial_port() client = UARTClient(port) config = configs.IQServiceConfig() config.sensor = args.sensors config.update_rate = 650 #Ändra samplingsfrekvens här config.range_interval = [0.06, 0.5] #Avståndsintervall i meter config.profile = config.Profile.PROFILE_1 config.repetition_mode = config.RepetitionMode.SENSOR_DRIVEN session_info = client.setup_session(config) recorder = recording.Recorder(sensor_config=config, session_info=session_info, temp=args.temp, label=args.label.lower()) #angel=args.angel, #distance=args.distance client.start_session() interrupt_handler = utils.ExampleInterruptHandler() print("Press Ctrl-C to end session") i = 0 while not interrupt_handler.got_signal: data_info, data = client.get_next() recorder.sample(data_info, data) i += 1 if args.limit_frames: print("Sampled {:>4}/{}".format(i, args.limit_frames), end="\r", flush=True) if i >= args.limit_frames: break else: print("Sampled {:>4}".format(i), end="\r", flush=True) client.disconnect() record = recorder.close() recording.save(args.output_file, record) print("Saved to '{}'".format(args.output_file))