-
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
refactor(api): use labware pool in stacker engine #17574
base: edge
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## edge #17574 +/- ##
==========================================
- Coverage 25.65% 24.76% -0.89%
==========================================
Files 2840 2840
Lines 218559 218579 +20
Branches 17945 17947 +2
==========================================
- Hits 56067 54131 -1936
- Misses 162477 164434 +1957
+ Partials 15 14 -1
Flags with carried forward coverage won't be shown. Click here to find out more. |
0851bc7
to
b92b97f
Compare
363349d
to
669c6cc
Compare
669c6cc
to
544ebaa
Compare
flexStacker/retrieve
flexStacker/retrieve
) | ||
originLocationSequence: LabwareLocationSequence | None = Field( | ||
None, description="The origin location of the labware." | ||
primaryLocationSequence: LabwareLocationSequence = Field( |
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.
what does this location refer to? The deck location of the stacker where a labware started? Or is it an on-deck location or either one?
new_locations_by_id: typing.Dict[str, LabwareLocation] | ||
"""Each new labwares's initial location keyed by Labware ID.""" | ||
|
||
offset_ids_by_id: typing.Dict[str, str | None] |
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.
these are stacker-specific offsets and not general labware offsets right?
Overview
Make
retrieve
andstore
work with the labware pool.flexStacker/retrieve
will load up to three labwares (primary, adapter, and lid) and return all their ids. It will decrement the pool count, and set the stacker addressable area as used.flexStacker/store
will consume up to three labwares (primary, adapter, and lid) from whatever's on the carriage, and return all their ids. It doesn't have parameters, just takes whatever's on the carriage. It will fail if whatever's in the carriage doesn't match what's configured in the labware pool.This PR only contains engine changes and it makes the protocol API a little unstable. We're still pulling the labware object out of the loaded-labwares core based on what's currently on the module; this will work as long as you've loaded the labware previously into the stacker hopper (the old API we're moving away from) and set the labware pool. Fail to load the labware, and you won't have a core; fail to configure the labware pool, and you'll get an error. The next PR will fix this by making the API properly load a labware object, but it should still work even now.
Test Plan and Hands on Testing
Changelog
flexStacker/retrieve
behavior to use the labware pool and not have parameters for the labware kinds anymoreflexStacker/store
to modify the labware poolReview requests
Risk assessment
Low - Only effects new stacker behavior
Closes EXEC-1214