예제 #1
0
def aspirate_from_well(well, volume, z_change=0):
    positions = [[0.5, "x"], [-0.5, "x"], [0.5, "y"], [-0.5, "y"]]
    volume = int(volume / 5)
    for it in range(5):
        if it == 0:
            pipette_300.aspirate(volume, ax_6.wells(well).top(z_change))
            pipette_300.delay(seconds=2)
            speed_set = {
                'x': 100,
                'y': 100,
                'z': 20,
                'a': 20,
                'b': 10,
                'c': 10
            }
            robot.head_speed(combined_speed=max(speed_set.values()),
                             **speed_set)
        else:
            pipette_300.move_to(ax_6.wells(well).top(z_change))
            calibration_functions.jog_instrument(instrument=pipette_300,
                                                 distance=positions[it - 1][0],
                                                 axis=positions[it - 1][1],
                                                 robot=robot)
            pipette_300.aspirate(volume)
            pipette_300.delay(seconds=1)
    speed_set = {'x': 300, 'y': 200, 'z': 75, 'a': 75, 'b': 25, 'c': 25}
    robot.head_speed(combined_speed=max(speed_set.values()), **speed_set)
예제 #2
0
 def jog(self, instrument, distance, axis):
     inst = instrument._instrument
     log.info('Jogging {} by {} in {}'.format(instrument.name, distance,
                                              axis))
     self._set_state('moving')
     calibration_functions.jog_instrument(instrument=inst,
                                          distance=distance,
                                          axis=axis,
                                          robot=inst.robot)
     self._set_state('ready')
예제 #3
0
 def jog(self, instrument, distance, axis):
     inst = instrument._instrument
     log.info('Jogging {} by {} in {}'.format(instrument.name, distance,
                                              axis))
     self._set_state('moving')
     if ff.use_protocol_api_v2():
         self._hardware.move_rel(Mount[inst.mount.upper()],
                                 Point(**{axis: distance}))
     else:
         calibration_functions.jog_instrument(instrument=inst,
                                              distance=distance,
                                              axis=axis,
                                              robot=inst.robot)
     self._set_state('ready')
예제 #4
0
 def jog(self, instrument, distance, axis):
     inst = instrument._instrument
     log.info('Jogging {} by {} in {}'.format(instrument.name, distance,
                                              axis))
     self._set_state('moving')
     if instrument._context:
         try:
             self._hardware.move_rel(Mount[inst.mount.upper()],
                                     Point(**{axis: distance}),
                                     check_bounds=MotionChecks.HIGH)
         except OutOfBoundsMove:
             log.exception('Out of bounds jog')
     else:
         calibration_functions.jog_instrument(instrument=inst,
                                              distance=distance,
                                              axis=axis,
                                              robot=inst.robot)
     self._set_state('ready')
예제 #5
0
print(usetip(1))
if cal_offset == 1:
    pipette_300.move_to(ax_6.wells("A1").top(10))
    print("with offset")
else:
    pipette_300.move_to(ax_6.wells("A1").top())
while True:
    mov_dir = input("Select movement direction and step size: ")
    mov_dir = mov_dir.split()
    calibrate_end = bool(int(mov_dir[2]))
    if calibrate_end == True:
        break
    else:
        step_dir = str(mov_dir[0])
        step_size = float(mov_dir[1])
        calibration_functions.jog_instrument(instrument=pipette_300,distance=step_size,axis=step_dir,robot=robot)
        if step_dir == "x":
            offset[0] = offset[0] + step_size
        elif step_dir == "y":
            offset[1] = offset[1] + step_size
        elif step_dir == "z":
            offset[2] = offset[2] + step_size
            

if int(mov_dir[2]) > 1:
    print("Not saving Calibration")
    print("newline")
else:
    if cal_offset == 1:
        update_offset("ax6_5",False, offset[0], offset[1], offset[2]+10)
        print("with offset")