-
Notifications
You must be signed in to change notification settings - Fork 178
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
fix(api): Raise cases for unsupported nozzle layouts #15009
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.
Thanks for the draft doc suggestions! I think we should communicate almost all of this info to users in one venue or another. I'll set up a time for us to discuss the best placement and wording.
@@ -25,6 +25,10 @@ For greater convenience, also import the individual layout constants that you pl | |||
|
|||
Then when you call ``configure_nozzle_layout`` later in your protocol, you can set ``style=COLUMN``. | |||
|
|||
It is important to note that for versions <= 7.3, when configuring for COLUMN layout, there may be a noticeable tip overlap offset that will need to be accounted for through Labware Position Check. |
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.
If there isn't an API change here, I think this is best addressed in the 7.3 release notes, probably under the "Improved features" header.
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.
Another possible location is as a note in the API Reference entry. Regardless, I think I'd want to keep it out of the main description of the feature in this article — especially if we've improved the behavior to the point that we don't have to be issuing warnings about how the latest version works.
@@ -25,6 +25,10 @@ For greater convenience, also import the individual layout constants that you pl | |||
|
|||
Then when you call ``configure_nozzle_layout`` later in your protocol, you can set ``style=COLUMN``. | |||
|
|||
It is important to note that for versions <= 7.3, when configuring for COLUMN layout, there may be a noticeable tip overlap offset that will need to be accounted for through Labware Position Check. | |||
|
|||
Along that same line of logic, it would be advisable to determine a configuration to be used for a specific labware, and only interact with that labware when in said configuration. |
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.
I'm not sure what this means.
): | ||
if len(rows) * len(columns) > MAXIMUM_NOZZLE_COUNT: | ||
raise IncompatibleNozzleConfiguration( | ||
f"Partial Nozzle Layouts may not be configured to contain more than {MAXIMUM_NOZZLE_COUNT} channels." |
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.
copy suggestion
f"Partial Nozzle Layouts may not be configured to contain more than {MAXIMUM_NOZZLE_COUNT} channels." | |
f"Partial nozzle layouts can contain at most {MAXIMUM_NOZZLE_COUNT} channels." |
] | ||
if style in disabled_layouts: | ||
raise ValueError( | ||
f"Nozzle layout configuration of style {style.value} is currently unsupported." |
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.
copy suggestion
f"Nozzle layout configuration of style {style.value} is currently unsupported." | |
f"{style.value} nozzle layouts are currently not supported." |
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.
changes look fine to me.
…#15003) # Overview Update partial tip pickup docs to reflect the latest behavior, as added in #15009 and to be released in robot software 7.3. Addresses RTC-440. # Test Plan [Sandbox](http://sandbox.docs.opentrons.com/docs-partial-pickup-channel-1/v2/) # Changelog - Removed "Column 12" and "Column 1" headers from Partial Tip Pickup page. Removed tip-tracking code for Column 1 as no longer needed.. - Reworded note in `configure_nozzle_layout` API reference entry. # Review requests Already spoke with @CaseyBatten to get an idea of what needed to be included here and what will go in separate documentation. - <s>Should we actually put this straight into `edge` and deploy ASAP, or can it wait a month and roll out with 2.18 docs (current plan)?</s> PAPI 2.18 deploy will be timed with robot stack 7.3 release, which this aligns with. # Risk assessment none
…#15003) Update partial tip pickup docs to reflect the latest behavior, as added in #15009 and to be released in robot software 7.3. Addresses RTC-440. [Sandbox](http://sandbox.docs.opentrons.com/docs-partial-pickup-channel-1/v2/) - Removed "Column 12" and "Column 1" headers from Partial Tip Pickup page. Removed tip-tracking code for Column 1 as no longer needed.. - Reworded note in `configure_nozzle_layout` API reference entry. Already spoke with @CaseyBatten to get an idea of what needed to be included here and what will go in separate documentation. - <s>Should we actually put this straight into `edge` and deploy ASAP, or can it wait a month and roll out with 2.18 docs (current plan)?</s> PAPI 2.18 deploy will be timed with robot stack 7.3 release, which this aligns with. none
limit user access to unapproved configurations through the PAPI and raise errors when configuring potentially unsafe layouts
Overview
See RTC-440
This PR seeks to limit user access to unapproved configurations through the PAPI and raise errors when configuring potentially unsafe layouts for the nozzle map.
UPDATE:
After discussion, doc side changes and API docstrings have been moved to alternative PR.
Test Plan
Ensure that protocols with that attempt to utilize unsupported single/row/quadrants API commands are rejected. Ensure that if engine commands are used, no more than 24 tips can be added to partial configuration.
Changelog
FULL
to 24 nozzles, a size limit found by hardware testing.Review requests
Risk assessment
Relatively low as we were not exposing these configurations publicly yet anyways, however some use cases involving non-public facing API may be effected.