Beispiel #1
0
    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 = []