Skip to content

Commit

Permalink
add highSpeed quirk
Browse files Browse the repository at this point in the history
  • Loading branch information
caila-marashaj committed Nov 21, 2024
1 parent 8e3fc55 commit eadfa80
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 7 deletions.
4 changes: 4 additions & 0 deletions api/src/opentrons/hardware_control/instruments/ot3/pipette.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
UlPerMmAction,
PipetteName,
PipetteModel,
Quirks,
)
from opentrons_shared_data.pipette import (
load_data as load_pipette_data,
Expand Down Expand Up @@ -225,6 +226,9 @@ def active_tip_settings(self) -> SupportedTipsDefinition:
def push_out_volume(self) -> float:
return self._active_tip_settings.default_push_out_volume

def is_high_speed_pipette(self) -> bool:
return Quirks.highSpeed in self._config.quirks

def act_as(self, name: PipetteName) -> None:
"""Reconfigure to act as ``name``. ``name`` must be either the
actual name of the pipette, or a name in its back-compatibility
Expand Down
9 changes: 3 additions & 6 deletions api/src/opentrons/hardware_control/ot3api.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
)
from opentrons_shared_data.pipette import (
pipette_load_name_conversions as pipette_load_name,
pipette_definition,
)
from opentrons_shared_data.robot.types import RobotType

Expand Down Expand Up @@ -635,19 +634,17 @@ async def cache_pipette(
self._feature_flags.use_old_aspiration_functions,
)
self._pipette_handler.hardware_instruments[mount] = p
if config is not None:
self._confirm_pipette_motion_constraints(mount, instrument_config=config)
if not self.is_simulator:
self._confirm_pipette_motion_constraints(mount)
# TODO (lc 12-5-2022) Properly support backwards compatibility
# when applicable
return skipped

def _confirm_pipette_motion_constraints(
self,
mount: OT3Mount,
instrument_config: pipette_definition.PipetteConfigurations,
) -> None:
display_name = instrument_config.display_name
if display_name == "FLEX 8-Channel Emulsifying 1000 μL":
if self._pipette_handler.get_pipette(mount).is_high_speed_pipette():
self._backend.update_constraints_for_emulsifying_pipette(
mount, self.gantry_load
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@
"shaftDiameter": 4.5,
"shaftULperMM": 15.904,
"backlashDistance": 0.1,
"quirks": [],
"quirks": ["highSpeed"],
"plungerHomingConfigurations": {
"current": 1.0,
"speed": 30
Expand Down
1 change: 1 addition & 0 deletions shared-data/python/opentrons_shared_data/pipette/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ class Quirks(enum.Enum):
dropTipShake = "dropTipShake"
doubleDropTip = "doubleDropTip"
needsUnstick = "needsUnstick"
highSpeed = "highSpeed"


class AvailableUnits(enum.Enum):
Expand Down

0 comments on commit eadfa80

Please sign in to comment.