Skip to content

Commit

Permalink
temporary fix for 8 channel pipetting on flex
Browse files Browse the repository at this point in the history
  • Loading branch information
abestroka committed Nov 19, 2024
1 parent fc5cc56 commit bc95058
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 16 deletions.
17 changes: 12 additions & 5 deletions ot2_driver/protopiler/protopiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -769,11 +769,18 @@ def _create_commands(self, payload: Optional[Dict]) -> List[str]:
)
# check to make sure that appropriate pipette is a multi-channel
# TODO: need to change, what if we have single and multi channel of same volume?
if (
"multi"
not in self.resource_manager.mount_to_pipette[pipette_mount]
):
raise Exception("Selected pipette is not multi-channel")
if "flex" in self.resource_manager.mount_to_pipette[pipette_mount]:
if (
"8"
not in self.resource_manager.mount_to_pipette[pipette_mount]
):
raise Exception("Selected pipette is not 8-channel")
else:
if (
"multi"
not in self.resource_manager.mount_to_pipette[pipette_mount]
):
raise Exception("Selected pipette is not multi-channel")
# check for tip
if not tip_loaded[pipette_mount]:
load_command = pick_tip_template.replace(
Expand Down
2 changes: 1 addition & 1 deletion ot2_driver/protopiler/resource_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ def determine_pipette(self, target_volume: int, is_multi: bool) -> str:

# TODO: make sure the pipettes can handle the max they are labeled as
if is_multi:
if "multi" in name:
if "multi" in name or "8" in name:
if pip_volume >= target_volume:
if pip_volume < min_available:
min_available = pip_volume
Expand Down
30 changes: 20 additions & 10 deletions ot2_driver/protopiler/test_configs/flex_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,30 @@ equipment:
- name: opentrons_flex_96_tiprack_200ul
location: "9"
offset: [0.5, 0.9, -0.3]
- name: flex_1channel_1000
# - name: flex_1channel_1000
# mount: right
- name: flex_8channel_1000
mount: right

commands:
# - name: test
# command: transfer
# source: 1:A1
# aspirate_clearance: 2
# destination: 1:A4
# dispense_clearance: 2
# volume: [10, 10, 10]
# mix_cycles: 0
# mix_volume: 0
# drop_tip: [false, false, true]

- name: test
command: transfer
source: 1:A1
aspirate_clearance: 2
destination: 1:A4
dispense_clearance: 2
volume: [10, 10, 10]
mix_cycles: 0
mix_volume: 0
drop_tip: [false, false, true]
command: multi_transfer
multi_source: 1:[[A1, B1, C1], [A2, B2, C2], [A3, B3, C3]]
multi_aspirate_clearance: 1
multi_destination: 1:[[A4, B4, C4], [A5, B5, C5], [A6, B6, C6]]
multi_dispense_clearance: 1
multi_volume: 10

metadata:
protocolName: Flex test
Expand Down

0 comments on commit bc95058

Please sign in to comment.