-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(shared-data, api): Add evo tips definition and restrictions on loading #17237
base: chore_release-8.3.0
Are you sure you want to change the base?
feat(shared-data, api): Add evo tips definition and restrictions on loading #17237
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall the labware definition looks good, we'll need to make final determinations on how its used (as a labware or as a "lid") before merging and also on how publicly it will be available, and how it will impact LPC.
@@ -14,6 +14,7 @@ const EXPECTED_VALID_QUIRKS = [ | |||
'gripperIncompatible', | |||
'tiprackAdapterFor96Channel', | |||
'stackingMaxFive', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This stackingMaxFive quirk can go away now that its unused in place of the stackLimit and compatibleParentLabware fields.
"stackLimit": 5, | ||
"compatibleParentLabware": ["nest_96_wellplate_2ml_deep", "nest_1_reservoir_195ml"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, are these the only reservoirs we plan on supporting for now?
def validate_labware_can_be_ondeck(definition: LabwareDefinition) -> bool: | ||
"""Validate that the labware being loaded onto the deck can sit in a slot.""" | ||
return ( | ||
definition.parameters.quirks is None | ||
or "stackingOnly" not in definition.parameters.quirks | ||
) | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This quirk is fine, however theres some parallel work going on with the lids behavior that introduced a new labware parameter called isDeckSlotCompatible
that could be used for the same thing as this quirk. We'll be using it for the tiprack lids and any other lids that cannot be placed on deck, and in theory could use it here too, although it would need to be updated to apply to regular labware loads as well and not just lid stacks. Not a blocker but eventually we'll probably want to consolidate the two.
"loadName": "evotips_opentrons_96_labware" | ||
}, | ||
"namespace": "opentrons", | ||
"allowedRoles": ["labware"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Of note currently this will raise an error when we build a stackup of:
96ch Evo Tips Adapter -> Reservoir -> Evotips Labware due to a raise condition occurring in protocol_engine/state/labware.py
which enforces that hybrid stacks must consist of at most an adapter-labware-lid combination, rather than an adapter-labware-labware combination. Given the new rules we have around stackLimits and compatibleParentLabware validations, I think we can do away with that raise case and allow this to be considered a labware and not a lid.
], | ||
"parameters": { | ||
"format": "96Standard", | ||
"quirks": ["tiprackAdapterFor96Channel", "stackingMaxFive"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stackingMaxFive can be removed here, do we need to add a stackLimit to this labware? It's at the "bottom" of the stack so I think not?
…aise fix TODO determine stacking overlap for tiprack adapter with evo tips
Overview
Add evo tips definition but as a labware so that liquid handling actions can happen in the 'labware'.
Test Plan and Hands on Testing
Need to check that the stackup works as expected
Changelog
Review requests
Check that the labware role makes sense and the stacking part.
Risk assessment
Low. Adding a new labware.