def initialize_GUI(self): """ Fill up the GUI """ _debug('GUIMainExperiment: initialize_GUI') # Prepare the GUI before to place them self.gui_confocal = gui_confocal_main.GUIMainConfocal(self.fpga) self.gui_pulser = gui_pulser.GuiMainPulseSequence(self.fpga) self.gui_saturation = gui_saturation.GUISaturation(self.fpga) # Replace the optimer button outside, for easy access self.place_object(self.gui_confocal.gui_optimizer.button_optimize, row=1) # Place a button for printing the bugs self.button_checkbug = egg.gui.Button('Check is everything is cool', tip='Print the last error') self.place_object(self.button_checkbug, row=1) self.connect(self.button_checkbug.signal_clicked, self.button_checkbug_clicked) # Plus the label for the print self.label_checkbug = egg.gui.Label( 'Welcome to the best experiment since 1992.') self.place_object(self.label_checkbug, row=1) # Place tabs self.tabs1 = self.place_object(egg.gui.TabArea(), row=2, column=0, column_span=5, alignment=0) # Tab for the confocal self.tab_confocal = self.tabs1.add_tab('Confocal') self.tab_confocal.place_object(self.gui_confocal, alignment=0) # Tab for the pulser self.tab_pulser = self.tabs1.add_tab('Pulser') self.tab_pulser.place_object(self.gui_pulser, alignment=0) # Tab for the saturation analysis self.tab_saturation = self.tabs1.add_tab('Saturation curve') self.tab_saturation.place_object(self.gui_saturation, alignment=0) # Tab for miscaleneous experiment that are more complexe that simple # Pulse sequence # Each experiment will be placed into tabs2 self.tabs2 = egg.gui.TabArea() self.tab_high_level = self.tabs1.add_tab('Awesome experiment') self.tab_high_level.place_object(self.tabs2, row=2, column=0, column_span=5, alignment=0) # Place a tab for the pi-pulse self.gui_pipulse_opt = gui_pipulse_optimization.GUIPiPulseOptimization( self.gui_pulser) self.tab_pipulse = self.tabs2.add_tab('Pi-pulse') self.tab_pipulse.place_object(self.gui_pipulse_opt, alignment=0) # Place a tab for the adaptive Bayes self.tab_bayes = self.tabs2.add_tab('Adaptive Bayes') self.tab_bayes.place_object(egg.gui.Button('Wooho'))
# Update the image self.map.set_data(self.Z) _debug('GUIPiPulseOptimization: run: f=', f, 'Okay') if __name__ == '__main__': _debug_enabled = True # Create the fpga api bitfile_path = ( "X:\DiamondCloud\Magnetometry\Acquisition\FPGA\Magnetometry Control\FPGA Bitfiles" "\Pulsepattern(bet_FPGATarget_FPGAFULLV2_WZPA4vla3fk.lvbitx") resource_num = "RIO0" # fpga = _fc.FPGA_api(bitfile_path, resource_num) # Create the api # fpga.open_session() # self = GuiMainPulseSequence(fpga) # self.show() import api_fpga as _fc fpga_fake = _fc.FPGA_fake_api(bitfile_path, resource_num) # Create the api fpga_fake.open_session() import gui_pulser gui = gui_pulser.GuiMainPulseSequence(fpga_fake) self = GUIPiPulseOptimization(gui) self.show()