-
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(api): update moduleOffsets when loading/calibrating modules to get accurate labware position. #12484
Conversation
…et accurate labware position.
Codecov Report
@@ Coverage Diff @@
## edge #12484 +/- ##
==========================================
- Coverage 73.78% 73.78% -0.01%
==========================================
Files 2247 2247
Lines 61774 61771 -3
Branches 6452 6452
==========================================
- Hits 45580 45577 -3
Misses 14674 14674
Partials 1520 1520
Flags with carried forward coverage won't be shown. Click here to find out more.
|
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 this way of including the offsets in loadLabwareResult
and caching offsets after a calibrateModule
command is quite a roundabout way of adding offsets. Also, unless I'm mistaken as to how module_id
is used, it looks like you'll never be able to load a module offset from disk because the module_id
generated by the engine is completely random and changes every run.
But before that, I have a basic question-
Do we intend to calibrate a module before each protocol run, like LPC, or is the plan to calibrate the module once, like an instrument calibration, save that info to disk, and then use those calibrated offsets each time that module is used in a protocol? Also, do we want to save unique offsets for a module+slot combo or do we want to use the same calibrated offset of a module for all slot locations?
add state loading when creating module store
remove unused f string
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.
Loading and applying offsets in engine looks good!
Overview
We need to include the calibrated module offsets when calculating the labware position, this way that position is accurate for operations required by the system. This pr will hook in the calibrated data and load it from the disk if it exists, as well as update the existing calibration data when we calibrate a module.
Cloeses: RCORE-666
Test Plan
LoadModule
protocol engine commandLoadModule
PE command and make sure we are loading module offsets from disk and returning them inLoadModuleResult
CalibrateModule
PE command to get new calibration values, then runLoadModule
PE command and make sure thevectorOffset
value inLoadModuleResult
returns the new calibrated value.Changelog
CalibrateModule
to update the module calibration valueReview requests
Risk assessment
Todo