def on_btn_send_clicked(self): try: modulated_data = self.modulate_data() dialog = SendRecvDialogController(self.project_manager.frequency, self.project_manager.sample_rate, self.project_manager.bandwidth, self.project_manager.gain, self.project_manager.device, Mode.send, modulated_data=modulated_data, parent=self) if dialog.has_empty_device_list: Errors.no_device() dialog.close() return elif PluginManager().is_plugin_enabled( "NetworkSDRInterface") and dialog.ui.cbDevice.count() == 1: Errors.network_sdr_send_is_elsewhere() dialog.close() return dialog.recording_parameters.connect( self.project_manager.set_recording_parameters) dialog.show() dialog.graphics_view.show_full_scene(reinitialize=True) except Exception as e: Errors.generic_error(self.tr("Failed to generate data"), str(e), traceback.format_exc()) self.unsetCursor()
def on_selected_device_changed(self): dev_name = self.ui.cbDevice.currentText() if dev_name == NetworkSDRInterfacePlugin.NETWORK_SDR_NAME: self.ui.cbDevice.blockSignals(True) self.ui.cbDevice.setCurrentText(self.device.name) self.ui.cbDevice.blockSignals(False) Errors.network_sdr_send_is_elsewhere() return nrep = self.ui.spinBoxNRepeat.value() sts = self.device.samples_to_send self.device.free_data() # gc.collect() # Cant do GC here, because the SencRecvDialog itself would be deleted (see https://github.com/jopohl/urh/issues/83) self.device = VirtualDevice(self.backend_handler, dev_name, self.device.mode, self.device.bandwidth, self.device.frequency, self.device.gain, self.device.sample_rate, sts, self.device.ip, nrep, self) self.__create_device_connects() if hasattr(self.scene_manager, "plot_data"): del self.scene_manager.plot_data if self.mode == Mode.receive: self.scene_manager = LiveSceneManager(np.array([]), parent=self) self.graphics_view.scene_manager = self.scene_manager self.graphics_view.setScene(self.scene_manager.scene) self.ui.lineEditIP.setVisible(dev_name == "USRP") self.ui.labelIP.setVisible(dev_name == "USRP")