-
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
feat(api): implement liquid probe protocol engine command #15351
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.
Aside from fixing what's already failing tests, please either draft this or take a pass to remove note to self comments and write some tests. They can be pretty simple for now since this command doesn't do much, but they should be present.
class LiquidProbeParams(BaseModel): | ||
"""Payload required to liquid probe.""" | ||
|
||
mount: MountType = Field(..., description="Instrument mount to liquid probe with.") |
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.
We are going to want the well we are using so we can get the well's max depth
ot3_mount is not OT3Mount.GRIPPER | ||
), "Expected a Pipette mount but Gripper mount was provided." | ||
|
||
z_pos = ot3_api.liquid_probe(mount=ot3_mount) # anything else? |
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.
We are going to want to pass an Instance of LiquidProbeSettings.
we can get a copy of the defaults from ot3_api.config().liquid_sense
We are going to want to change the starting mount height and the max_z_distance based on the well we are probing
) | ||
|
||
return SuccessData( | ||
public=LiquidProbeResult( |
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 think it might just be worth a comment somewhere that the position
here is the position at the well where the probe starts, and z_pos
is after the probe
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.
Nice!
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.
Couple last little changes but almost there!
A PR has been opened to address analyses snapshot changes. Please review the changes here: #15455 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## edge #15351 +/- ##
==========================================
- Coverage 60.43% 60.43% -0.01%
==========================================
Files 154 154
Lines 12119 12116 -3
==========================================
- Hits 7324 7322 -2
+ Misses 4795 4794 -1
|
A PR has been opened to address analyses snapshot changes. Please review the changes here: #15455 |
This PR is an automated snapshot update request. Please review the changes and merge if they are acceptable or find you bug and fix it. Co-authored-by: pmoegenburg <[email protected]> Co-authored-by: pmoegenburg <[email protected]>
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.
Very nice, love the changes, looks good to me!
Overview
This closes EXEC-436. Pulls well dimension data from Protocol Engine StateView, which is now used for process
max_z_distance
. Also bubbles up LiquidNotFoundError.Test Plan
Added protocol engine command test.
Changelog
Review requests
Risk assessment
Low. Largely builds off existing Aspirate protocol engine command.