Skip to content

Commit 4437827

Browse files
committed
check max tip volume before transfer as well
1 parent b1684cb commit 4437827

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

api/src/opentrons/protocol_api/core/engine/instrument.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1008,7 +1008,12 @@ def transfer_liquid( # noqa: C901
10081008
source_dest_per_volume_step = tx_commons.expand_for_volume_constraints(
10091009
volumes=[volume for _ in range(len(source))],
10101010
targets=zip(source, dest),
1011-
max_volume=self.get_max_volume(),
1011+
max_volume=min(
1012+
self.get_max_volume(),
1013+
tip_racks[0][1]
1014+
.get_well_core("A1")
1015+
.get_max_volume(), # Assuming all tips in tiprack are of same volume
1016+
),
10121017
)
10131018

10141019
def _drop_tip() -> None:

api/tests/opentrons/protocol_api_integration/test_transfer_with_liquid_classes.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ def test_water_transfer_with_volume_more_than_tip_max(
2727
tiprack = simulated_protocol_context.load_labware(
2828
"opentrons_flex_96_tiprack_50ul", "D1"
2929
)
30-
pipette_50 = simulated_protocol_context.load_instrument(
31-
"flex_1channel_50", mount="left", tip_racks=[tiprack]
30+
pipette_1k = simulated_protocol_context.load_instrument(
31+
"flex_1channel_1000", mount="left", tip_racks=[tiprack]
3232
)
3333
nest_plate = simulated_protocol_context.load_labware(
3434
"nest_96_wellplate_200ul_flat", "C3"
@@ -47,7 +47,7 @@ def test_water_transfer_with_volume_more_than_tip_max(
4747
mock_manager = mock.Mock()
4848
mock_manager.attach_mock(patched_pick_up_tip, "pick_up_tip")
4949

50-
pipette_50.transfer_liquid(
50+
pipette_1k.transfer_liquid(
5151
liquid_class=water,
5252
volume=60,
5353
source=nest_plate.rows()[0],
@@ -58,7 +58,7 @@ def test_water_transfer_with_volume_more_than_tip_max(
5858
assert patched_pick_up_tip.call_count == 24
5959
patched_pick_up_tip.reset_mock()
6060

61-
pipette_50.transfer_liquid(
61+
pipette_1k.transfer_liquid(
6262
liquid_class=water,
6363
volume=100,
6464
source=nest_plate.rows()[0],
@@ -69,16 +69,16 @@ def test_water_transfer_with_volume_more_than_tip_max(
6969
assert patched_pick_up_tip.call_count == 12
7070
patched_pick_up_tip.reset_mock()
7171

72-
pipette_50.pick_up_tip()
73-
pipette_50.transfer_liquid(
72+
pipette_1k.pick_up_tip()
73+
pipette_1k.transfer_liquid(
7474
liquid_class=water,
7575
volume=50,
7676
source=nest_plate.rows()[0],
7777
dest=arma_plate.rows()[0],
7878
new_tip="never",
7979
trash_location=trash,
8080
)
81-
pipette_50.drop_tip()
81+
pipette_1k.drop_tip()
8282
assert patched_pick_up_tip.call_count == 1
8383

8484

0 commit comments

Comments
 (0)