Skip to content

Commit

Permalink
fix(shared-data): Implement updated Hardware Testing pipette configur…
Browse files Browse the repository at this point in the history
…ation values (#15436)

Closes PLAT-270 and PLAT-269

Incorporate new hardware testing values for current, speed, distance and tip overlaps for the 96ch and 8ch pipettes on the Flex, bump tip overlap to v3.
  • Loading branch information
CaseyBatten authored Jul 15, 2024
1 parent f2ab3d3 commit b779bf0
Show file tree
Hide file tree
Showing 11 changed files with 700 additions and 415 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
from typing_extensions import Final
from opentrons.protocols.api_support.types import APIVersion

_OVERLAP_VERSION_MAP: Final = {APIVersion(2, 0): "v0", APIVersion(2, 19): "v1"}
_OVERLAP_VERSION_MAP: Final = {
APIVersion(2, 0): "v0",
APIVersion(2, 19): "v1",
APIVersion(2, 20): "v3",
}


@lru_cache(1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from opentrons_shared_data.errors.exceptions import PipetteLiquidNotFoundError
import pytest
from decoy import Decoy
from decoy import errors

from opentrons_shared_data.pipette.dev_types import PipetteNameType

Expand Down Expand Up @@ -1293,15 +1294,26 @@ def test_configure_for_volume_post_219(
"""Configure_for_volume should specify overlap version."""
decoy.when(mock_protocol_core.api_version).then_return(version)
subject.configure_for_volume(123.0)
decoy.verify(
mock_engine_client.execute_command(
cmd.ConfigureForVolumeParams(
pipetteId=subject.pipette_id,
volume=123.0,
tipOverlapNotAfterVersion="v1",
try:
decoy.verify(
mock_engine_client.execute_command(
cmd.ConfigureForVolumeParams(
pipetteId=subject.pipette_id,
volume=123.0,
tipOverlapNotAfterVersion="v1",
)
)
)
except errors.VerifyError:
decoy.verify(
mock_engine_client.execute_command(
cmd.ConfigureForVolumeParams(
pipetteId=subject.pipette_id,
volume=123.0,
tipOverlapNotAfterVersion="v3",
)
)
)
)


@pytest.mark.parametrize("version", versions_at_or_above(APIVersion(2, 20)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,18 @@ def test_all_below_219_use_v0(api_version: APIVersion) -> None:


@pytest.mark.parametrize("api_version", versions_at_or_above(APIVersion(2, 19)))
def test_all_above_219_use_v1(api_version: APIVersion) -> None:
"""Versions above 2.19 should use v1."""
assert overlap_for_api_version(api_version) == "v1"
def test_above_219_below_220_use_v1(api_version: APIVersion) -> None:
"""Versions above 2.19 and below 2.20 should use v1."""
if api_version in versions_below(APIVersion(2, 20), flex_only=False):
assert overlap_for_api_version(api_version) == "v1"


def test_future_api_version_uses_v1() -> None:
"""Future versions should use v1."""
assert overlap_for_api_version(APIVersion(2, 99)) == "v1"
@pytest.mark.parametrize("api_version", versions_at_or_above(APIVersion(2, 20)))
def test_above_220_use_v3(api_version: APIVersion) -> None:
"""Versions above 2.20 should use v3."""
assert overlap_for_api_version(api_version) == "v3"


def test_future_api_version_uses_v3() -> None:
"""Future versions should use v3."""
assert overlap_for_api_version(APIVersion(2, 99)) == "v3"
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,8 @@ def test_load_instrument_pre_219(
assert result.pipette_id == "cool-pipette"


@pytest.mark.parametrize("api_version", versions_at_or_above(APIVersion(2, 19)))
def test_load_instrument_post_219(
@pytest.mark.parametrize("api_version", versions_at_or_above(APIVersion(2, 20)))
def test_load_instrument_post_220(
decoy: Decoy,
mock_sync_hardware_api: SyncHardwareAPI,
mock_engine_client: EngineClient,
Expand All @@ -290,7 +290,7 @@ def test_load_instrument_post_219(
cmd.LoadPipetteParams(
pipetteName=PipetteNameType.P300_SINGLE,
mount=MountType.LEFT,
tipOverlapNotAfterVersion="v1",
tipOverlapNotAfterVersion="v3",
liquidPresenceDetection=False,
)
)
Expand Down
139 changes: 74 additions & 65 deletions shared-data/pipette/definitions/2/general/eight_channel/p1000/3_4.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
"SingleA1": {
"default": {
"speed": 10.0,
"distance": 13.0,
"current": 0.2,
"distance": 11.0,
"current": 0.15,
"tipOverlaps": {
"v0": {
"default": 10.5,
Expand All @@ -37,22 +37,22 @@
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17
},
"v1": {
"default": 10.5,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
"default": 10.08,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 10.1,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 10.08,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.26,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.1,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.08,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.26
}
}
}
},
"SingleH1": {
"default": {
"speed": 10.0,
"distance": 13.0,
"current": 0.2,
"distance": 11.0,
"current": 0.15,
"tipOverlaps": {
"v0": {
"default": 10.5,
Expand All @@ -64,13 +64,13 @@
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17
},
"v1": {
"default": 10.5,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
"default": 9.52,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.71,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.52,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.2,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.71,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.52,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.2
}
}
}
Expand All @@ -91,13 +91,13 @@
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17
},
"v1": {
"default": 10.5,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
"default": 9.24,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.52,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.24,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.73,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.52,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.24,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.73
}
}
}
Expand All @@ -106,7 +106,7 @@
"default": {
"speed": 10.0,
"distance": 13.0,
"current": 0.21,
"current": 0.2,
"tipOverlaps": {
"v0": {
"default": 10.5,
Expand All @@ -118,13 +118,13 @@
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17
},
"v1": {
"default": 10.5,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
"default": 9.2,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.3,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.2,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.8,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.3,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.2,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.8
}
}
}
Expand All @@ -133,7 +133,7 @@
"default": {
"speed": 10.0,
"distance": 13.0,
"current": 0.28,
"current": 0.35,
"tipOverlaps": {
"v0": {
"default": 10.5,
Expand All @@ -145,13 +145,13 @@
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17
},
"v1": {
"default": 10.5,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
"default": 9.2,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.3,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.2,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.8,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.3,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.2,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.8
}
}
}
Expand All @@ -160,7 +160,7 @@
"default": {
"speed": 10.0,
"distance": 13.0,
"current": 0.34,
"current": 0.4,
"tipOverlaps": {
"v0": {
"default": 10.5,
Expand All @@ -172,13 +172,13 @@
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17
},
"v1": {
"default": 10.5,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
"default": 9.2,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.3,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.2,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.8,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.3,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.2,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.8
}
}
}
Expand All @@ -187,7 +187,7 @@
"default": {
"speed": 10.0,
"distance": 13.0,
"current": 0.41,
"current": 0.4,
"tipOverlaps": {
"v0": {
"default": 10.5,
Expand All @@ -199,13 +199,13 @@
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17
},
"v1": {
"default": 10.5,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
"default": 9.2,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.3,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.2,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.8,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.3,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.2,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.8
}
}
}
Expand All @@ -214,7 +214,7 @@
"default": {
"speed": 10.0,
"distance": 13.0,
"current": 0.48,
"current": 0.5,
"tipOverlaps": {
"v0": {
"default": 10.5,
Expand All @@ -226,13 +226,13 @@
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.17
},
"v1": {
"default": 10.5,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
"default": 9.13,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.23,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.13,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.9,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.23,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.13,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.9
}
}
}
Expand Down Expand Up @@ -260,6 +260,15 @@
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.42,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.27,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
},
"v3": {
"default": 9.28,
"opentrons/opentrons_flex_96_tiprack_200ul/1": 9.37,
"opentrons/opentrons_flex_96_tiprack_50ul/1": 9.28,
"opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.67,
"opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.37,
"opentrons/opentrons_flex_96_filtertiprack_50ul/1": 9.28,
"opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.67
}
}
}
Expand Down
Loading

0 comments on commit b779bf0

Please sign in to comment.