コード例 #1
0
    def autogenerated_code(self, tag):
        """
        returns the autogenerated code given the address and model of a device
        """
        
        
        model = self[tag]['model']
        
        ##1/ check if an IVI driver works
 
        
        string_visa = """from pyhardware.drivers.visa import {0}
instrument = {0}(logical_name, address, simulate, timeout=100)
"""
        
        ###2/ check a visa driver
        for name, visa_driver_type \
                    in list_all_child_classes(VisaDriver).iteritems():
            if model in visa_driver_type.supported_models():
                return string_visa.format(visa_driver_type.__name__)
            
        string_serial = """from pyhardware.drivers.serial import {0}
instrument = {0}(logical_name, address, simulate)
"""           
        ###3/ check a serial driver
        for name, serial_driver_type \
                    in list_all_child_classes(SerialDriver).iteritems():
            if model in serial_driver_type.supported_models():
                return string_serial.format(serial_driver_type.__name__)
        
        string_ivi = """import pyivi
from pyhardware.drivers.ivi import {0}
driver = pyivi.ivi_instrument(address, model=model, simulate=simulate)
instrument = {0}(logical_name, driver)
"""
        
        for name, ivi_driver_type \
                    in list_all_child_classes(IviDriver).iteritems():
            if model in ivi_driver_type.supported_models():
                return string_ivi.format(ivi_driver_type.__name__)
            
        return """no supporting drivers in ivi, visa or serial, sorry..."""
コード例 #2
0
    def autogenerated_code(self, tag):
        """
        returns the autogenerated code given the address and model of a device
        """

        model = self[tag]['model']

        ##1/ check if an IVI driver works

        string_visa = """from pyhardware.drivers.visa import {0}
instrument = {0}(logical_name, address, simulate, timeout=100)
"""

        ###2/ check a visa driver
        for name, visa_driver_type \
                    in list_all_child_classes(VisaDriver).iteritems():
            if model in visa_driver_type.supported_models():
                return string_visa.format(visa_driver_type.__name__)

        string_serial = """from pyhardware.drivers.serial import {0}
instrument = {0}(logical_name, address, simulate)
"""
        ###3/ check a serial driver
        for name, serial_driver_type \
                    in list_all_child_classes(SerialDriver).iteritems():
            if model in serial_driver_type.supported_models():
                return string_serial.format(serial_driver_type.__name__)

        string_ivi = """import pyivi
from pyhardware.drivers.ivi import {0}
driver = pyivi.ivi_instrument(address, model=model, simulate=simulate)
instrument = {0}(logical_name, driver)
"""

        for name, ivi_driver_type \
                    in list_all_child_classes(IviDriver).iteritems():
            if model in ivi_driver_type.supported_models():
                return string_ivi.format(ivi_driver_type.__name__)

        return """no supporting drivers in ivi, visa or serial, sorry..."""
コード例 #3
0
    def contextMenuModels(self, point):
        """
        context menu when models column right-clicked
        """
        def change_model(new_model):
            pic = PyInstrumentsConfig()
            itm = self.tree_widget.itemAt(point)
            pic[itm.val("logical_name")]["model"] = new_model
            pic.save()
            self.refresh()

        class ChangeModel(QtGui.QAction):
            def change_model_to_mine(self):
                change_model(str(self.text()))

        def add_model_in_menu(menu, model):
            model_action = ChangeModel(model, self)
            model_actions.append(model_action)
            model_action.triggered.connect( \
                            model_action.change_model_to_mine)
            menu.addAction(model_action)

        menu = QtGui.QMenu(self)
        ivi_menu = QtGui.QMenu("ivi", self)
        menu.addMenu(ivi_menu)
        ivi_drivers = list_all_child_classes(IviDriver)
        ivi_types_menu = []
        soft_modules = []
        modules_menu = []
        model_actions = []
        for driver in ivi_drivers.values():
            type_menu = QtGui.QMenu(driver.__name__)
            ivi_types_menu.append(type_menu)
            ivi_menu.addMenu(type_menu)
            for module in driver.supported_software_modules():
                #if module in map(lambda x: x.name, CONFIG_STORE):
                soft_modules.append(module)
                module_menu = QtGui.QMenu(module)
                modules_menu.append(module_menu)
                type_menu.addMenu(module_menu)
                for model in software_modules[
                        module].supported_instrument_models():
                    add_model_in_menu(module_menu, model)

        serial_menu = QtGui.QMenu("serial", self)
        menu.addMenu(serial_menu)

        serial_drivers = list_all_child_classes(SerialDriver)
        serial_drivers_menu = []
        for driver in serial_drivers.values():
            driver_menu = QtGui.QMenu(driver.__name__)
            serial_drivers_menu.append(driver_menu)
            serial_menu.addMenu(driver_menu)
            for model in driver.supported_models():
                add_model_in_menu(driver_menu, model)

        visa_menu = QtGui.QMenu("visa", self)
        menu.addMenu(visa_menu)

        visa_drivers = list_all_child_classes(VisaDriver)
        visa_drivers_menu = []
        for driver in visa_drivers.values():
            driver_menu = QtGui.QMenu(driver.__name__)
            visa_drivers_menu.append(driver_menu)
            visa_menu.addMenu(driver_menu)
            for model in driver.supported_models():
                add_model_in_menu(driver_menu, model)

#        visa_drivers = list_all_child_classes(VisaDriver)
#        for driver in visa_driver.values():
#            driver_menu = QtGui.QMenu(driver.__name__)
#            model_action = ChangeModel(model, self)
#            model_actions.append(model_action)
#            model_action.triggered.connect( \
#                            model_action.change_model_to_mine)
#            module_menu.addAction(model_action)
        self.exec_menu_at_right_place(menu, point)
コード例 #4
0
    def contextMenuModels(self, point):
        """
        context menu when models column right-clicked
        """
        
        def change_model(new_model):
            pic = PyInstrumentsConfig()
            itm = self.tree_widget.itemAt(point)
            pic[itm.val("logical_name")]["model"] =  new_model
            pic.save()
            self.refresh()
        
        class ChangeModel(QtGui.QAction):
            def change_model_to_mine(self):
                change_model(str(self.text()))
        
        def add_model_in_menu(menu, model):
            model_action = ChangeModel(model, self)
            model_actions.append(model_action)
            model_action.triggered.connect( \
                            model_action.change_model_to_mine)
            menu.addAction(model_action)
        
        menu = QtGui.QMenu(self)
        ivi_menu = QtGui.QMenu("ivi", self)
        menu.addMenu(ivi_menu)
        ivi_drivers = list_all_child_classes(IviDriver)
        ivi_types_menu = []
        soft_modules = []
        modules_menu = []
        model_actions = []
        for driver in ivi_drivers.values():
            type_menu = QtGui.QMenu(driver.__name__)
            ivi_types_menu.append(type_menu)
            ivi_menu.addMenu(type_menu)
            for module in driver.supported_software_modules():
                #if module in map(lambda x: x.name, CONFIG_STORE):
                    soft_modules.append(module)
                    module_menu = QtGui.QMenu(module)
                    modules_menu.append(module_menu)
                    type_menu.addMenu(module_menu)
                    for model in software_modules[module].supported_instrument_models():
                        add_model_in_menu(module_menu, model)
                        
        
        serial_menu = QtGui.QMenu("serial", self)         
        menu.addMenu(serial_menu)          
        
        serial_drivers = list_all_child_classes(SerialDriver)
        serial_drivers_menu = []
        for driver in serial_drivers.values():
            driver_menu = QtGui.QMenu(driver.__name__)
            serial_drivers_menu.append(driver_menu)
            serial_menu.addMenu(driver_menu)
            for model in driver.supported_models():
                add_model_in_menu(driver_menu, model)
                
        visa_menu = QtGui.QMenu("visa", self)         
        menu.addMenu(visa_menu)          
        
        visa_drivers = list_all_child_classes(VisaDriver)
        visa_drivers_menu = []
        for driver in visa_drivers.values():
            driver_menu = QtGui.QMenu(driver.__name__)
            visa_drivers_menu.append(driver_menu)
            visa_menu.addMenu(driver_menu)
            for model in driver.supported_models():
                add_model_in_menu(driver_menu, model)
                
#        visa_drivers = list_all_child_classes(VisaDriver)
#        for driver in visa_driver.values():
#            driver_menu = QtGui.QMenu(driver.__name__)
#            model_action = ChangeModel(model, self)
#            model_actions.append(model_action)
#            model_action.triggered.connect( \
#                            model_action.change_model_to_mine)
#            module_menu.addAction(model_action)
        self.exec_menu_at_right_place(menu, point)