-
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): remove version suffixes from pipette models in JSON protocols #1825
Conversation
Codecov Report
@@ Coverage Diff @@
## edge #1825 +/- ##
=======================================
Coverage 34.22% 34.22%
=======================================
Files 370 370
Lines 6069 6069
=======================================
Hits 2077 2077
Misses 3992 3992 Continue to review full report at Codecov.
|
I think this is a good solution, and I agree with the logic regarding breaking changes (that this is not a breaking change since it's solely for a non-released product). We should definitely communicate it to folks who have had an interest in the JSON protocol schema, but we definitely don't want protocols to require an exact model of pipette. |
I also agree that a pipette version with different capabilities should have a different name, even if the volume and number of tips are the same. I'm struggling to imagine the scenario, but let's say it's at a 45 degree angle, then it should be something like |
It's been a while since we talked about this one, but if my memory serves me correctly, we decided:
This should line up with what we've implemented for modules |
@btmorr & I came up with this: 2 file for pipette configs. One is "public" and one is "under the hood", IDK what to name them, but here's the idea:
{
"p10_single": {
"displayName": "P10 Single-Channel",
"nominalMaxVolumeUl": 10,
"aspirateFlowRate": 5,
"dispenseFlowRate": 10,
"channels": 1,
},
...other pipette names
}
|
More comprehensive PR coming soon |
overview
Let's make JSON protocols agnostic to pipette version!
Users are not aware of the differences between a "v1" and a "v1.3" pipette versions. They aren't written on the pipettes.
Protocol Designer & JSON protocols shouldn't need to tie pipettes to a particular pipette version due to differing capabilities to accomplish a protocol. On the protocol level, a
p10_single_v1
is identical to ap10_single_v1.3
and so on, for all versions. Ifp10_single_v42
has some differing capabilities, it shouldn't be a "p10_single".If JSON protocols have a pipette version hard-coded into the protocol, we would have to deal with the case where the user's robot has a
p10_single_v1.3
but the protocol is written for ap10_single_v1
. It seems like the best thing to do is to ignore the hard-coded pipette version -- so it seems like it shouldn't be there in the first place.changelog
_v1
review requests
Is that true?