-
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,robot-server): Use new OT-3 deck slot naming style #12571
Conversation
Codecov Report
@@ Coverage Diff @@
## edge #12571 +/- ##
==========================================
- Coverage 73.35% 73.33% -0.03%
==========================================
Files 2284 2307 +23
Lines 62736 63272 +536
Branches 6829 6949 +120
==========================================
+ Hits 46022 46400 +378
- Misses 15088 15239 +151
- Partials 1626 1633 +7
Flags with carried forward coverage won't be shown. Click here to find out more.
|
15c4918
to
8da6f39
Compare
ded0c79
to
f565d43
Compare
5013888
to
57722e0
Compare
Merging to incorporate #12595.
Integrating PR #12795.
This is okay because it's outside of Protocol Engine, so Protocol Engine will normalize it when it ingests the loadModule command.
Per discussion with Tamar, this is going to change in the near future to be based on coordinates, not deck slots. It's also OT-3-only. So, do the simple thing for now, and don't worry about refactoring LabwareView to handle both kinds of deck. We're
I think this is okay to leave alone because this should only be used by PAPIv<=2.13, which should never emit the new OT-3-style deck slot IDs.
Resolve conflicts in api/release-notes-internal.md.
This test uses robotType: 'OT-3 Standard', so it should expect OT-3-style slots names.
] | ||
} | ||
|
||
_OT3_THERMOCYCLER_SLOT_TRANSITS_TO_DODGE = { |
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.
not for this PR but these changes are starting to make me think of moving all specific implementation details to a designated class. for example this will be a field in a class instead of a variable. same for _RIGHT_SIDE_SLOTS.
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.
again, this is me thinking from a DB perspective. This will probably live in a db table related to each robot
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.
still looks great! Max tested this a lot!
There's one failing app front-end test, but I think that's an unrelated thing that's fixed in #12842. |
Overview
This is a chunk of back-end support for OT-3 style deck slot names, like
D1
instead of1
.Closes RLAB-250, RLAB-251, RLAB-253, RLAB-256, RLAB-257, RLAB-339, and RLAB-346.
Changelog
In general, the robot will now accept deck slots of either style (
1
orD1
) as input. It will normalize them to the device's preferred style (1
for OT-2s,D1
for OT-3s) in its internal state, and in its output. In protocol analyses, the style in the output will follow the protocol's declaredrobotType
.This affects:
loadLabware
commandsmoveLabware
commandsloadModule
commandsPOST
ed over HTTPThe underlying OT-3 deck definition in
shared-data
is changed to use the OT-3-style names. The module definitions are updated to match.Review requests
shared-data
.Risk assessment
High.
This unfortunately has to change a bunch of stuff all at once, because it's all cross-dependent on each other.
Code that does this is in danger of breaking silently:
We do this in places such as:
Test plan
Here's the protocol file that I'm using.
After pushing this branch to an OT-3, you'll need to factory-reset runs history before the robot is usable. You'll also need to factory-reset runs history when pushing
edge
back.