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

App: User shouldn't be able to calibrate/run if attached pipettes are incompatible with protocol #4183

Closed
2 tasks
mcous opened this issue Oct 7, 2019 · 1 comment
Labels
app Affects the `app` project bug rpc This involves Opentrons' deprecated RPC system.

Comments

@mcous
Copy link
Contributor

mcous commented Oct 7, 2019

overview

Currently, if the user simulates a protocol on the robot and the protocol spec's pipettes that are incompatible with the currently attached pipettes, neither the app nor the API prevents the user from proceeding to calibration and then run.

In a well-behaved system, this would be the job of the API to block this behavior, but the entanglement of the RPC API prevents us from doing this properly at this time.

As a stop-gap until the RPC API is replaced, the app should keep the user at the file info page (i.e. disable the calibration and run navigation tabs) if the app detects that the session (protocol simulation) pipettes do not match the attached pipettes (GET /pipettes)

related issues

current behavior

User is able to calibrate pipettes / labware with incorrect pipettes and proceed to run

This behavior is a holdover from when we weren't comfortable blocking users with "incompatible" pipettes because a non-trivial number of pipettes were leaving the factory without their provisioning process being properly completed. This factory process issue was solved a long time ago.

acceptance criteria

If the robot's attached pipettes are incompatible with the pipettes spec'd in the protocol:

  • "Calibrate" nav button is disabled with a tooltip
    • "Please attach the correct pipettes before calibrating your equipment" or similar
  • "Run" nav button is disabled with a tooltip
    • "Please attach the correct pipettes before running your protocol" or similar

Note: Disabling the top-level nav button is a lot more straightforward than enabling the page and disabling individual control elements, due to the same entanglement concerns that are leading us to deal with this in the app in the first place.

open questions

  • Do we block the flows by either:
    1. Disabling the top-level nav button with a tooltip?
    2. Enabling the page but disabling
  • After a pipette swap, does the protocol need to be re-simulated?
    • Ping @Opentrons/py
@mcous mcous added bug app Affects the `app` project rpc This involves Opentrons' deprecated RPC system. labels Oct 7, 2019
@mcous mcous added this to the Pipette Single Gen2: Production milestone Oct 7, 2019
@sfoster1
Copy link
Member

Closed by #4185

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app Affects the `app` project bug rpc This involves Opentrons' deprecated RPC system.
Projects
None yet
Development

No branches or pull requests

2 participants