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()
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()