feat(api, shared-data): build out functionality for tracking liquid height #15666
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Added public getter and private setter for tracking liquid level heights of wells.
re EXEC-603
Test Plan
Still need to write a ton of unit tests.
Changelog
get_well_last_measured_height
starts inprotocol_api/labware
, calls down toprotocol_api/core/labware
, then finally down toprotocol_engine/state/labware
set_well_last_measured_height
is only called inliquid_probe_in_place
inprotocol_engine/execution/pipetting.py
lastMeasuredLiquidHeight
. I decided to make the WellState attribute for future cases where we might want more detailed well state tracking.Review requests
Not sure if the way I'm setting it is correct. I couldn't find a convenient and seemingly correct way to edit labware state so I'm just doing it in
liquid_probe_in_place
.I also ended up having to add wellStates to the labware schema which seems wrong but I don't know how else I would do it.
Risk assessment
Pretty low.