Example #1
0
    def __init__(self, parameters):
        super(Kilroy, self).__init__()

        # Parse parameters into internal attributes
        self.verbose = parameters.verbose
        self.valve_com_port = parameters.valves_com_port
        self.tcp_port = parameters.tcp_port
        self.pump_com_port = parameters.pump_com_port
        self.pump_ID = parameters.pump_ID
        if not hasattr(parameters, "num_simulated_valves"):
            self.num_simulated_valves = 0
        else:
            self.num_simulated_valves = parameters.num_simulated_valves
        if not hasattr(parameters, "protocols_file"):
            self.protocols_file = "default_config.xml"
        else:
            self.protocols_file = parameters.protocols_file
        if not hasattr(parameters, "commands_file"):
            self.commands_file = "default_config.xml"
        else:
            self.commands_file = parameters.commands_file
        if not hasattr(parameters, "simulate_pump"):
            self.simulate_pump = False
        else:
            self.simulate_pump = parameters.simulate_pump

        # Define additional internal attributes
        self.received_message = None
        
        # Create ValveChain instance
        self.valveChain = ValveChain(com_port = self.valve_com_port,
                                     num_simulated_valves = self.num_simulated_valves,
                                     verbose = self.verbose)

        # Create PumpControl instance
        self.pumpControl = PumpControl(com_port = self.pump_com_port,
                                       pump_ID = self.pump_ID,
                                       simulate = self.simulate_pump,
                                       verbose = self.verbose)
                                       
        # Create KilroyProtocols instance and connect signals
        self.kilroyProtocols = KilroyProtocols(protocol_xml_path = self.protocols_file,
                                               command_xml_path = self.commands_file,
                                               verbose = self.verbose)

        self.kilroyProtocols.command_ready_signal.connect(self.sendCommand)
        self.kilroyProtocols.status_change_signal.connect(self.handleProtocolStatusChange)
        self.kilroyProtocols.completed_protocol_signal.connect(self.handleProtocolComplete)

        # Create Kilroy TCP Server and connect signals
        self.tcpServer = TCPServer(port = self.tcp_port,
                                   server_name = "Kilroy",
                                   verbose = self.verbose)
        
        self.tcpServer.messageReceived.connect(self.handleTCPData)

        # Create GUI
        self.createGUI()
Example #2
0
    def __init__(self, parameters):
        super(Kilroy, self).__init__()

        # Parse parameters into internal attributes
        self.verbose = parameters.get("verbose")
        self.valve_com_port = parameters.get("valves_com_port", default=-1)
        self.tcp_port = parameters.get("tcp_port")
        self.pump_com_port = parameters.get("pump_com_port", default=-1)
        self.pump_ID = parameters.get("pump_ID", default="")

        # populate default values if missing
        #   note the different way parameters is polled
        if not "num_simulated_valves" in parameters.parameters:
            self.num_simulated_valves = 0
        else:
            self.num_simulated_valves = parameters.get("num_simulated_valves")

        if not parameters.has("valve_type"):
            self.valve_type = 'Hamilton'
        else:
            self.valve_type = parameters.get("valve_type")

        if not "protocols_file" in parameters.parameters:
            self.protocols_file = "default_config.xml"
        else:
            self.protocols_file = parameters.get("protocols_file")

        if not "commands_file" in parameters.parameters:
            self.commands_file = "default_config.xml"
        else:
            self.commands_file = parameters.get("commands_file")

        if not "simulate_pump" in parameters.parameters:
            self.simulate_pump = False
        else:
            self.simulate_pump = parameters.get("simulate_pump")

        if not "cnc" in parameters.parameters:
            self.usb_cnc = None
        else:
            self.usb_cnc = parameters.get("cnc")

        if "simulate_cnc" in parameters.parameters and parameters.get(
                "simulate_cnc"):
            self.usb_cnc = "simulated"

        # Define additional internal attributes
        self.received_message = None

        # Create ValveChain instance
        print(self.valve_com_port)
        self.valveChain = ValveChain(
            com_port=self.valve_com_port,
            num_simulated_valves=self.num_simulated_valves,
            valve_type=self.valve_type,
            usb_cnc=self.usb_cnc,
            verbose=self.verbose)
        #

        # Create PumpControl instance
        self.pumpControl = PumpControl(parameters=parameters)

        # Create KilroyProtocols instance and connect signals
        self.kilroyProtocols = KilroyProtocols(
            protocol_xml_path=self.protocols_file,
            command_xml_path=self.commands_file,
            verbose=self.verbose)

        self.kilroyProtocols.command_ready_signal.connect(self.sendCommand)
        self.kilroyProtocols.status_change_signal.connect(
            self.handleProtocolStatusChange)
        self.kilroyProtocols.completed_protocol_signal.connect(
            self.handleProtocolComplete)

        # Create Kilroy TCP Server and connect signals
        self.tcpServer = TCPServer(port=self.tcp_port,
                                   server_name="Kilroy",
                                   verbose=self.verbose)

        self.tcpServer.messageReceived.connect(self.handleTCPData)

        # Create GUI
        self.createGUI()