-
Notifications
You must be signed in to change notification settings - Fork 12
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(thermocycler): check closed lid sensor when a move finishes #449
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## edge #449 +/- ##
=======================================
Coverage 82.20% 82.20%
=======================================
Files 75 75
Lines 6809 6812 +3
=======================================
+ Hits 5597 5600 +3
Misses 1212 1212
|
stm32-modules/include/thermocycler-gen2/thermocycler-gen2/messages.hpp
Outdated
Show resolved
Hide resolved
@@ -1289,8 +1289,10 @@ class MotorTask { | |||
motor_util::LidStepper::Position::CLOSED; | |||
// The overall lid state machine can advance now | |||
error = handle_lid_state_end(policy); | |||
// TODO(Frank, Mar-7-2022) check if the lid didn't make it in | |||
// all the way | |||
// if the lid isn't actually closed, overwrite error status |
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.
Do we want to do this before the handle_lid_state_end
call above?
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 figured it would be easier to overwrite the error value after that function is done, since inside of its scope it doesn't know the desired status of the lid, which in this case is OVERDRIVE
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.
Looks good to me, nice!
Overview
Currently, the thermocycler's optical switches are not checked after opening or closing the lid to make sure that the action was performed successfully. In the case of closing the lid, we want to make sure that there isn't any extra labware obstructing the lid from closing before moving forward with a protocol.
This resolves https://opentrons.atlassian.net/browse/RQA-2303
Changelog
UNEXPECTED_LID_STATE_ERROR
motor_task.hpp
to throw said error after handling aLidStepperComplete
with lid statusCLOSE_OVERDRIVE
, if the lid closed sensor is not triggered