def __init__(self, com_port=1): self.device = serial.Serial(com_port, 19200, \ parity = serial.PARITY_EVEN, \ timeout = 1) if not self.device: raise gexceptions.DeviceNotFound self.queue = SerialQueue(self.device) self.queue.start() self.syringe_pumps = {} self.syringe_pump_devices = [] self.probe_map = {1: 'a', 2: 'b', 3: 'c', 4: 'd'} # Positioning constants self.base_z = 0 self.base_tip_height = 10 self.current_tip_height = 20 # Cached variables self.liquid_sensitivity = {} self.liquid_detector_status = {} self.probe_speed = {} self.probe_x_range = {} self.xyz_range = {} self.home_phase = {} self.motor_status = {} self.time_delay = .05 # Syringe pump data """syringe_default = {'device_id': -1, 'side': None, 'syringe_size': 0, 'partner_probe': 0, 'status': 'I', 'current_volume': 0, 'valve_status': 'N', 'motor_force': 3, 'flow_rate': 10, 'next_operation': 0} self.syringe = {1: syringe_default, 2: syringe_default, 3: syringe_default, 4: syringe_default}""" self.syringe = {} for i in range(4): self.syringe[i + 1] = { 'device_id': -1, 'side': None, 'syringe_size': 0, 'partner_probe': 0, 'status': 'I', 'current_volume': 0, 'valve_status': 'N', 'motor_force': 3, 'flow_rate': 10, 'next_operation': 0 } self.syringe_devices = []