diff --git a/api/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py b/api/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py index 818b165fa260..f4d6ac7f8846 100644 --- a/api/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py +++ b/api/src/opentrons/hardware_control/instruments/ot3/pipette_handler.py @@ -766,14 +766,16 @@ def build_presses() -> Iterator[Tuple[float, float]]: yield (press_dist, backup_dist) if instrument.channels == 96: + prep_move_dist = instrument.pick_up_configurations.prep_move_distance + clamp_move_dist = instrument.pick_up_configurations.distance tip_motor_moves = [ TipMotorPickUpTipSpec( - distance=instrument.pick_up_configurations.prep_move_distance, + distance=prep_move_dist, speed=instrument.pick_up_configurations.prep_move_speed, home_buffer=10, ), TipMotorPickUpTipSpec( - distance=instrument.pick_up_configurations.distance, + distance=prep_move_dist + clamp_move_dist, speed=instrument.pick_up_configurations.speed, home_buffer=10, ), diff --git a/api/src/opentrons/hardware_control/ot3api.py b/api/src/opentrons/hardware_control/ot3api.py index a1439d648e57..0949db12d327 100644 --- a/api/src/opentrons/hardware_control/ot3api.py +++ b/api/src/opentrons/hardware_control/ot3api.py @@ -1907,7 +1907,6 @@ async def _motor_pick_up_tip( gear_origin_float = axis_convert(self._backend.gear_motor_position, 0.0)[ pipette_axis ] - move_targets = [] for move_segment in pipette_spec: move_targets.append( @@ -1920,7 +1919,6 @@ async def _motor_pick_up_tip( _, moves = self._move_manager.plan_motion( origin={Axis.Q: gear_origin_float}, target_list=move_targets ) - await self._backend.tip_action(moves=moves[0]) await self.home_gear_motors() @@ -1966,7 +1964,7 @@ async def pick_up_tip( # fixme: really only need this during labware position check so user # can verify if a tip is properly attached - await self.move_rel(realmount, top_types.Point(z=spec.retract_target)) + await self.move_rel(realmount, spec.tiprack_up) # TODO: implement tip-detection sequence during pick-up-tip for 96ch, # but not with DVT pipettes because those can only detect drops @@ -2008,7 +2006,6 @@ async def drop_tip( """Drop tip at the current location.""" realmount = OT3Mount.from_mount(mount) spec, _remove = self._pipette_handler.plan_check_drop_tip(realmount, home_after) - for move in spec.drop_moves: await self._backend.set_active_current(move.current) @@ -2027,8 +2024,6 @@ async def drop_tip( ) await self._backend.tip_action(moves=drop_moves[0]) - await self.home_gear_motors() - else: target_pos = target_position_from_plunger( realmount, move.target_position, self._current_position @@ -2041,6 +2036,9 @@ async def drop_tip( if move.home_after: await self._home(move.home_axes) + if any([move.is_ht_tip_action for move in spec.drop_moves]): + await self.home_gear_motors() + for shake in spec.shake_moves: await self.move_rel(mount, shake[0], speed=shake[1]) diff --git a/hardware/opentrons_hardware/hardware_control/motion_planning/types.py b/hardware/opentrons_hardware/hardware_control/motion_planning/types.py index 82e492c135f2..f78eeb0b22ec 100644 --- a/hardware/opentrons_hardware/hardware_control/motion_planning/types.py +++ b/hardware/opentrons_hardware/hardware_control/motion_planning/types.py @@ -163,18 +163,18 @@ def dummy_value() -> np.float64: max_speed=np.float64(0), blocks=( Block( - distance=np.float64(20), - initial_speed=np.float64(3), + distance=np.float64(0), + initial_speed=np.float64(0), acceleration=np.float64(0), ), Block( - distance=np.float64(20), - initial_speed=np.float64(3), + distance=np.float64(0), + initial_speed=np.float64(0), acceleration=np.float64(0), ), Block( - distance=np.float64(20), - initial_speed=np.float64(3), + distance=np.float64(0), + initial_speed=np.float64(0), acceleration=np.float64(0), ), ), diff --git a/shared-data/python/opentrons_shared_data/pipette/scripts/update_configuration_files.py b/shared-data/python/opentrons_shared_data/pipette/scripts/update_configuration_files.py index eaf2665af9bd..16c434d9897e 100644 --- a/shared-data/python/opentrons_shared_data/pipette/scripts/update_configuration_files.py +++ b/shared-data/python/opentrons_shared_data/pipette/scripts/update_configuration_files.py @@ -145,7 +145,6 @@ def update( Recursively update the given dictionary to ensure no data is lost when updating. """ next_key = next(iter_of_configs, None) - breakpoint() if next_key and isinstance(dict_to_update[next_key], dict): dict_to_update[next_key] = update( dict_to_update.get(next_key, {}), iter_of_configs, value_to_update @@ -160,7 +159,6 @@ def build_nozzle_map( ) -> Dict[str, List[float]]: Y_OFFSET = 9 X_OFFSET = -9 - breakpoint() if channels == PipetteChannelType.SINGLE_CHANNEL: return {"A1": nozzle_offset} elif channels == PipetteChannelType.EIGHT_CHANNEL: