Skip to content
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

fix(api): move plunger to top during evotip #17615

Conversation

sfoster1
Copy link
Member

@sfoster1 sfoster1 commented Feb 28, 2025

We were setting the max allowed volume of an evotip dispense, which means that the system won't allow you to dispense more than 400ul. The thing is, that when you dispense say 100ul, what the system does is take current volume (400) minus dispense volume (to equal 300) and move the plunger to the appropriate position for 300ul, not move the plunger down 100ul. That means that at the moment you call that evotips dispense call, the plunger moves from the top to 300ul, which is a big swing that will inappropriately overdispense and will cause a pressure spike.

One way to fix this might be to keep the plunger starting from the top, and change evotips_dispense to move the plunger down by 100ul when you tell it to dispense 100ul. The problem there is that you're compressing a bigger air column under the pipette, which will change the behavior.

The right way to fix this is to move the plunger to +400ul right before doing the tip seal actions. This is unfortunately hard because we don't have the tips yet, and we don't have code to project settings based on what the tip will be, and we don't have code to get the hardware to move like that. So let's do the ugly thing in the short term:

  • Pick a position based on the nominal ul/mm with a bit of a margin, since the nominal ul/mm may be below the ul/mm at 400ul for the tip that we chose
  • Move to that position before doing the pickup tip

This ain't no good!

testing

  • do the protocol and check that the plunger moves right

Closes EXEC-1264

We were setting the max allowed volume of an evotip dispense, which
means that the system won't allow you to dispense more than 400ul. The
thing is, that when you dispense say 100ul, what the system does is take
current volume (400) minus dispense volume (to equal 300) and move the
plunger to the appropriate position for 300ul, _not_ move the plunger
down 100ul. That means that at the moment you call that evotips dispense
call, the plunger moves from the top to 300ul, which is a big swing that
will inappropriately overdispense and will cause a pressure spike.

One way to fix this might be to keep the plunger starting from the top,
and change evotips_dispense to move the plunger down by 100ul when you
tell it to dispense 100ul. The problem there is that you're compressing
a bigger air column under the pipette, which will change the behavior.

The right way to fix this is to move the plunger to +400ul right before
doing the tip seal actions. This is unfortunately hard because we don't
have the tips yet, and we don't have code to project settings based on
what the tip _will_ be, and we don't have code to get the hardware to
move like that. So let's do the ugly thing in the short term:
- Pick a position based on the nominal ul/mm with a bit of a margin,
since the nominal ul/mm may be below the ul/mm at 400ul for the tip that
we chose
- Move to that position before doing the pickup tip

This ain't no good!
@sfoster1 sfoster1 requested a review from a team as a code owner February 28, 2025 17:52
Copy link
Contributor

@ahiuchingau ahiuchingau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed with you that it's kinda awful but totally makes sense!

@sfoster1
Copy link
Member Author

Gonna leave this open until I can clear up some testing stuff with SMEs

@sfoster1 sfoster1 closed this Mar 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants