def __init__(self, parent): SetupPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) # spurius calculation variables # m_max_RF = 7 # self.m_max_RF, self.sizer_m_max_RF = return_spinctrl(self, "Max m for RF") self.m_min_RF, self.m_max_RF, self.m_step_RF, self.sizer_m_RF = return_spinctrl_min_max( self, "m for RF (min/max/step)") # n_max_LO = 7 # self.n_max_LO, self.sizer_n_max_LO = return_spinctrl(self, "Max n for LO") self.n_min_LO, self.n_max_LO, self.n_step_LO, self.sizer_n_LO = return_spinctrl_min_max( self, "n for LO (min/max/step)") # IF_high = 3000 self.IF_low, self.IF_low_unit, dummy, self.sizer_IF_low, dummy, dummy = return_textbox_labeled( self, "Min Spurius Frequency", unit=True) # IF_high = 3000 self.IF_high, self.IF_high_unit, dummy, self.sizer_IF_high, dummy, dummy = return_textbox_labeled( self, "Max Spurius Frequency", unit=True) # spurius_IF_unit = unit.MHz self.spurius_IF_unit, self.sizer_spurius_IF_unit = return_comboBox_unit( self, "Spurius Frequency unit") # calibration_file_LO = "C:\\Users\\Labele\\Desktop\\Spurius\\LO_cal.csv" self.calibration_file_LO, self.calibration_file_LO_button, self.calibration_file_LO_enable, self.sizer_calibration_file_LO = return_file_browse( self, "Local Ocillator Cable Calibration File", enabled=True) self.calibration_file_LO_button.Bind(wx.EVT_BUTTON, self.File_browser_LO) # calibration_file_RF = "C:\\Users\\Labele\\Desktop\\Spurius\\LO_cal.csv" self.calibration_file_RF, self.calibration_file_RF_button, self.calibration_file_RF_enable, self.sizer_calibration_file_RF = return_file_browse( self, "Radio Frequency Cable Calibration File", enabled=True) self.calibration_file_RF_button.Bind(wx.EVT_BUTTON, self.File_browser_RF) # calibration_file_IF = "" self.calibration_file_IF, self.calibration_file_IF_button, self.calibration_file_IF_enable, self.sizer_calibration_file_IF = return_file_browse( self, "Output Frequency Cable Calibration File", enabled=True) self.calibration_file_IF_button.Bind(wx.EVT_BUTTON, self.File_browser_IF) sizer.Add(self.sizer_m_RF, 0, wx.ALL, 5) sizer.Add(self.sizer_n_LO, 0, wx.ALL, 5) sizer.Add(self.sizer_IF_low, 0, wx.ALL, 5) sizer.Add(self.sizer_IF_high, 0, wx.ALL, 5) sizer.Add(self.sizer_calibration_file_LO, 0, wx.ALL, 5) sizer.Add(self.sizer_calibration_file_RF, 0, wx.ALL, 5) sizer.Add(self.sizer_calibration_file_IF, 0, wx.ALL, 5) sizer.Add(self.sizer_result_file_name, 0, wx.ALL, 5) sizer.Add(self.sizer_spurius_IF_unit, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__( self, parent, input_file_wildcard="CSV files (*.csv)|*.csv|Excel file (*.xlsx)|*.xlsx" ): wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY) self.data_file_name, self.data_file_name_button, dummy, self.sizer_data_file_name = return_file_browse( self, "Data File") self.wildcard = input_file_wildcard self.data_file_name_button.Bind(wx.EVT_BUTTON, self.File_browser_DataFile) # Graph Title self.graph_title, dummy, dummy, self.sizer_graph_title, dummy, dummy = return_textbox_labeled( self, "Graph title")
def __init__(self, parent): SetupPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) # Calibration Cable parameter # self.frequency_min, self.frequency_min_unit, self.frequency_max, self.frequency_max_unit, self.frequency_step, self.frequency_step_unit, dummy, dummy, self.sizer_frequency = return_min_max_step_labeled(self, "Frequency", unit = True) self.frequency_min, dummy, self.frequency_max, dummy, self.frequency_step, dummy, self.frequency_unit, dummy, self.sizer_frequency = return_min_max_step_labeled( self, "Frequency", unit=False, single_unit=True) # synthetizer_LO_level_min = 6 #dBm self.output_level, dummy, dummy, self.sizer_output_level, dummy, dummy = return_textbox_labeled( self, "Output Power Level") self.output_frequency_unit, self.sizer_output_frequency_unit = return_comboBox_unit( self, "Output Frequency unit") sizer.Add(self.sizer_frequency, 0, wx.ALL, 5) sizer.Add(self.sizer_output_level, 0, wx.ALL, 5) sizer.Add(self.sizer_output_frequency_unit, 0, wx.ALL, 5) sizer.Add(self.sizer_result_file_name, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__(self, parent, enable_show_function=False): InstrumentPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) # spectrum_analyzer_state = "ON" # self.spectrum_analyzer_state, self.sizer_spectrum_analyzer_state = return_checkbox_labeled(self, "State") # spectrum_analyzer_sweep_points = 1001 self.spectrum_analyzer_sweep_points, dummy, dummy, self.sizer_spectrum_analyzer_sweep_points, dummy, dummy = return_textbox_labeled( self, "Sweep points") # spectrum_analyzer_resolution_bandwidth = 1 self.spectrum_analyzer_resolution_bandwidth, self.spectrum_analyzer_resolution_bandwidth_unit, dummy, self.sizer_spectrum_analyzer_resolution_bandwidth, dummy, dummy = return_textbox_labeled( self, "Resolution bandwidth", unit=True) # spectrum_analyzer_video_bandwidth = 1 self.spectrum_analyzer_video_bandwidth, self.spectrum_analyzer_video_bandwidth_unit, dummy, self.sizer_spectrum_analyzer_video_bandwidth, dummy, dummy = return_textbox_labeled( self, "Video bandwidth", unit=True) # spectrum_analyzer_frequency_span = 100 self.spectrum_analyzer_frequency_span, self.spectrum_analyzer_frequency_span_unit, dummy, self.sizer_spectrum_analyzer_frequency_span, dummy, dummy = return_textbox_labeled( self, "Frequency Span", unit=True) # spectrum_analyzer_frequency_marker_unit = unit.KHz self.spectrum_analyzer_frequency_marker_unit, self.sizer_spectrum_analyzer_frequency_marker_unit = return_comboBox_unit( self, "Frequency marker unit") ##spectrum_analyzer_attenuation = 0 # self.spectrum_analyzer_attenuation, dummy, dummy, self.sizer_spectrum_analyzer_attenuation, dummy, dummy = return_textbox_labeled(self, "Attenuation") # gainAmplifier = 40 #dB self.gainAmplifier, dummy, dummy, self.sizer_gainAmplifier, dummy, dummy = return_textbox_labeled( self, "Gain Amplifier") # spectrum_analyzer_IF_atten = 0 self.spectrum_analyzer_IF_atten, dummy, self.spectrum_analyzer_IF_atten_enable, self.sizer_spectrum_analyzer_IF_atten, dummy, dummy = return_textbox_labeled( self, "Attenuation", enabled=True) # spectrum_analyzer_IF_relative_level = 30 self.spectrum_analyzer_IF_relative_level, dummy, self.spectrum_analyzer_IF_relative_level_enable, self.sizer_spectrum_analyzer_IF_relative_level, dummy, dummy = return_textbox_labeled( self, "Relative Level", enabled=True) # threshold_power = 30 #dB self.threshold_power, dummy, dummy, self.sizer_threshold_power, dummy, dummy = return_textbox_labeled( self, "Threshold") self.spectrum_analyzer_central_frequency, self.spectrum_analyzer_central_frequency_unit, dummy, self.sizer_spectrum_analyzer_central_frequency, self.spectrum_analyzer_central_frequency_button, dummy = return_textbox_labeled( self, "Central Frequency", unit=True, enabled=False, enable_text="", read=True, button_text="Plot display") self.spectrum_analyzer_central_frequency_button.Bind( wx.EVT_BUTTON, self.OnPlotSpectrum) # FSV_delay = 1 self.FSV_delay, dummy, dummy, self.sizer_FSV_delay, dummy, dummy = return_textbox_labeled( self, "Measure delay (s)") sizer.Add(self.instrument_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_test_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_enable_status_sizer, 0, wx.ALL, 5) # sizer.Add(self.sizer_spectrum_analyzer_state, 0, wx.ALL, 5) sizer.Add(self.sizer_spectrum_analyzer_sweep_points, 0, wx.ALL, 5) sizer.Add(self.sizer_spectrum_analyzer_resolution_bandwidth, 0, wx.ALL, 5) sizer.Add(self.sizer_spectrum_analyzer_video_bandwidth, 0, wx.ALL, 5) sizer.Add(self.sizer_spectrum_analyzer_frequency_span, 0, wx.ALL, 5) # if enable_show_function: sizer.Add(self.sizer_spectrum_analyzer_frequency_marker_unit, 0, wx.ALL, 5) # sizer.Add(self.sizer_spectrum_analyzer_attenuation, 0, wx.ALL, 5) sizer.Add(self.sizer_gainAmplifier, 0, wx.ALL, 5) sizer.Add(self.sizer_spectrum_analyzer_IF_atten, 0, wx.ALL, 5) sizer.Add(self.sizer_spectrum_analyzer_IF_relative_level, 0, wx.ALL, 5) sizer.Add(self.sizer_threshold_power, 0, wx.ALL, 5) sizer.Add(self.sizer_FSV_delay, 0, wx.ALL, 5) sizer.Add(self.sizer_spectrum_analyzer_central_frequency, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__(self, parent): InstrumentPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) # power_meter_state = "ON" # self.power_meter_state, self.sizer_power_meter_state = return_checkbox_labeled(self, "State") # power_meter_misure_number = 1 self.power_meter_misure_number, self.sizer_power_meter_misure_number = return_spinctrl( self, "Measures", max_value=4000000) # power_meter_misure_delay = 1 #seconds self.power_meter_misure_delay, dummy, dummy, self.sizer_power_meter_misure_delay, dummy, dummy = return_textbox_labeled( self, "Measure delay (ms)") self.power_meter_make_zero, self.sizer_power_meter_make_zero = return_checkbox_labeled( self, "Make Zero") sizer.Add(self.instrument_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_test_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_enable_status_sizer, 0, wx.ALL, 5) sizer.Add(self.sizer_power_meter_misure_number, 0, wx.ALL, 5) sizer.Add(self.sizer_power_meter_misure_delay, 0, wx.ALL, 5) sizer.Add(self.sizer_power_meter_make_zero, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__(self, parent): InstrumentPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) # power_meter_state = "ON" # self.TSC_state, self.sizer_TSC_state = return_checkbox_labeled(self, "State") self.TSC_collecting_delay, dummy, dummy, self.sizer_TSC_collecting_delay, dummy, dummy = return_textbox_labeled( self, "Collecting time (m)") self.TSC_plot_adev, self.sizer_TSC_plot_adev = return_checkbox_labeled( self, "Plot Allan Deviation") self.result_file_name, self.result_file_name_button, dummy, self.sizer_result_file_name = return_file_browse( self, "Output Path") self.result_file_name_button.Bind(wx.EVT_BUTTON, self.File_browser_Out) sizer.Add(self.instrument_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_test_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_enable_status_sizer, 0, wx.ALL, 5) sizer.Add(self.sizer_TSC_collecting_delay, 0, wx.ALL, 5) sizer.Add(self.sizer_TSC_plot_adev, 0, wx.ALL, 5) sizer.Add(self.sizer_result_file_name, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__(self, parent, attenutation=True, switches=True): InstrumentPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) # power_meter_state = "ON" # self.SAB_state, self.sizer_SAB_state = return_checkbox_labeled(self, "State") if attenutation: self.SAB_attenuation_min, dummy, self.SAB_attenuation_max, dummy, self.SAB_attenuation_step, dummy, dummy, dummy, self.sizer_SAB_attenuation = return_min_max_step_labeled( self, "Attenuation", unit=False) self.SAB_attenuation_delay, dummy, dummy, self.sizer_SAB_attenuation_delay, dummy, dummy = return_textbox_labeled( self, "Attenuation Delay") if switches: # power_meter_misure_delay = 1 #seconds self.SAB_switch01_delay, dummy, dummy, self.sizer_SAB_switch01_delay, dummy, dummy = return_textbox_labeled( self, "Switch 1 delay (s)") self.SAB_switch02_delay, dummy, dummy, self.sizer_SAB_switch02_delay, dummy, dummy = return_textbox_labeled( self, "Switch 2 delay (s)") self.SAB_switch03_delay, dummy, dummy, self.sizer_SAB_switch03_delay, dummy, dummy = return_textbox_labeled( self, "Switch 3 delay (s)") sizer.Add(self.instrument_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_test_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_enable_status_sizer, 0, wx.ALL, 5) if attenutation: sizer.Add(self.sizer_SAB_attenuation, 0, wx.ALL, 5) sizer.Add(self.sizer_SAB_attenuation_delay, 0, wx.ALL, 5) if switches: sizer.Add(self.sizer_SAB_switch01_delay, 0, wx.ALL, 5) sizer.Add(self.sizer_SAB_switch02_delay, 0, wx.ALL, 5) sizer.Add(self.sizer_SAB_switch03_delay, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__(self, parent, range_power=True): """""" InstrumentPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) # synthetizer_LO_state = "ON" # self.synthetizer_state, self.sizer_synthetizer_state = return_checkbox_labeled(self, "State") # self.synthetizer_frequency_min, self.synthetizer_frequency_min_unit, self.synthetizer_frequency_max, self.synthetizer_frequency_max_unit, self.synthetizer_frequency_step, self.synthetizer_frequency_step_unit, dummy, dummy, self.sizer_synthetizer_frequency = return_min_max_step_labeled(self, "Frequency", unit = True) self.synthetizer_frequency_min, dummy, self.synthetizer_frequency_max, dummy, self.synthetizer_frequency_step, dummy, self.synthetizer_frequency_unit, dummy, self.sizer_synthetizer_frequency = return_min_max_step_labeled( self, "Frequency", unit=False, single_unit=True) # self.synthetizer_level_step, dummy, dummy, self.sizer_synthetizer_level_step, dummy, dummy = return_textbox_labeled(self, "Power Level Step") if range_power: self.synthetizer_level_min, dummy, self.synthetizer_level_max, dummy, self.synthetizer_level_step, dummy, dummy, dummy, self.sizer_synthetizer_level = return_min_max_step_labeled( self, "Level", unit=False) else: self.synthetizer_level_fixed, dummy, dummy, self.sizer_synthetizer_level_fixed, dummy, dummy = return_textbox_labeled( self, "Fixed Power Level") sizer.Add(self.instrument_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_test_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_enable_status_sizer, 0, wx.ALL, 5) sizer.Add(self.sizer_synthetizer_frequency, 0, wx.ALL, 5) if range_power: sizer.Add(self.sizer_synthetizer_level, 0, wx.ALL, 5) else: sizer.Add(self.sizer_synthetizer_level_fixed, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__(self, parent): """""" InstrumentUSBPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) # pm5_state = "ON" # self.pm5_state, self.sizer_pm5_state = return_checkbox_labeled(self, "State") # power_meter_misure_number = 1 self.pm5_misure_number, self.sizer_pm5_misure_number = return_spinctrl( self, "Measures") # power_meter_misure_delay = 1 #seconds self.pm5_misure_delay, dummy, dummy, self.sizer_pm5_misure_delay, dummy, dummy = return_textbox_labeled( self, "Measure delay (s)") sizer.Add(self.instrument_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_test_sizer, 0, wx.ALL, 5) sizer.Add(self.instrument_enable_status_sizer, 0, wx.ALL, 5) sizer.Add(self.sizer_pm5_misure_number, 0, wx.ALL, 5) sizer.Add(self.sizer_pm5_misure_delay, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__(self, parent): SetupPanelClass.__init__(self, parent=parent) sizer = wx.BoxSizer(wx.VERTICAL) self.output_level, dummy, self.create_dummycable_cb, self.sizer_output_level, dummy, dummy = return_textbox_labeled( self, "Output Power Level (Dummy Cable)", enabled=True, enable_text="Create Dummy Cable") sizer.Add(self.sizer_result_file_name, 0, wx.ALL, 5) sizer.Add(self.sizer_output_level, 0, wx.ALL, 5) self.SetSizer(sizer)
def __init__( self, parent, animated=False, z_axes=False, input_file_wildcard="CSV files (*.csv)|*.csv|Excel file (*.xlsx)|*.xlsx" ): self.x_index = 0 self.y_index = 0 self.z_index = 0 self.row_data_filter = [] PlotGraphPanelClass.__init__(self, parent=parent, input_file_wildcard=input_file_wildcard) self.graph_x_label, dummy, dummy, self.sizer_graph_x_label, dummy, dummy = return_textbox_labeled( self, "X Axes Label") self.graph_x_min, dummy, self.graph_x_max, dummy, self.graph_x_step, dummy, self.graph_x_unit, self.grap_x_calc_button, self.sizer_graph_x = return_min_max_step_labeled( self, "X Axes", unit=False, single_unit=True, button_text="Calculate") self.grap_x_calc_button.param_to_calc = { "combobox": "self.graph_x_unit", "index": "self.x_index", "textbox_min": "self.graph_x_min", "textbox_max": "self.graph_x_max", "textbox_step": "self.graph_x_step", "filter": "self.row_data_filter", "unit_index": "self.x_unit_index" } self.grap_x_calc_button.Bind(wx.EVT_BUTTON, self.OnCalcAuto) self.graph_y_label, dummy, dummy, self.sizer_graph_y_label, dummy, dummy = return_textbox_labeled( self, "Y Axes label", enabled=False, enable_text="Auto") self.graph_y_min, dummy, self.graph_y_max, dummy, self.graph_y_step, dummy, self.graph_y_unit, self.grap_y_calc_button, self.sizer_graph_y = return_min_max_step_labeled( self, "Y Axes", unit=False, single_unit=True, button_text="Calculate") self.grap_y_calc_button.param_to_calc = { "combobox": "self.graph_y_unit", "index": "self.y_index", "textbox_min": "self.graph_y_min", "textbox_max": "self.graph_y_max", "textbox_step": "self.graph_y_step", "filter": "self.row_data_filter", "unit_index": "self.y_unit_index" } self.grap_y_calc_button.Bind(wx.EVT_BUTTON, self.OnCalcAuto) self.z_axes = False if z_axes: self.z_axes = True self.graph_z_label, dummy, dummy, self.sizer_graph_z_label, dummy, dummy = return_textbox_labeled( self, "Z Axes label", enabled=False, enable_text="Auto") self.graph_z_min, dummy, self.graph_z_max, dummy, self.graph_z_step, dummy, self.graph_z_unit, self.grap_z_calc_button, self.sizer_graph_z = return_min_max_step_labeled( self, "Z Axes", unit=False, single_unit=True, button_text="Calculate") self.grap_z_calc_button.param_to_calc = { "combobox": "self.graph_z_unit", "index": "self.z_index", "textbox_min": "self.graph_z_min", "textbox_max": "self.graph_z_max", "textbox_step": "self.graph_z_step", "filter": "self.row_data_filter", "unit_index": "self.z_unit_index" } self.grap_z_calc_button.Bind(wx.EVT_BUTTON, self.OnCalcAuto) if animated: self.graph_animated, self.sizer_graph_animated = return_checkbox_labeled( self, "Animate Graph")