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

feat(api): replace format with quirks for rectangular well behavior #4027

Merged
merged 2 commits into from
Sep 16, 2019

Conversation

btmorr
Copy link
Contributor

@btmorr btmorr commented Sep 10, 2019

overview

Replace uses of deprecated 'format' member of labware with 'quirks'. Also modifies trash box definitions to prevent robot from crashing if trash is used as the target for a dispense or aspirate command. Related to #3894

changelog

  • modify trash box definitions to have depth of 0, preventing crashes
  • change well load behavior to use 'quirks' instead of 'format'--no behavioral change

review requests

Pick up tips with a multi-channel pipette, and use move_to, aspirate, dispense and any other public commands to make sure the robot is able to:

  • aspirate / dispense from reserviors
  • aspirate / dispense from well plates
  • drop tip without args (should drop into trash without crashing)
  • drop tip / dispense / blow out explicitly into trash (note that you have to do p.blow_out(robot.fixed_trash[0]) -- leaving off the [0] will cause a known crash that is not covered by this PR)

@btmorr btmorr added feature Ticket is a feature request / PR introduces a feature api Affects the `api` project ready for review labels Sep 10, 2019
@btmorr btmorr requested review from IanLondon and a team September 10, 2019 18:15
Copy link
Contributor

@IanLondon IanLondon left a comment

Choose a reason for hiding this comment

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

Tested with the following protocol, single and multi:

from opentrons import instruments, labware, robot

tiprack = labware.load('opentrons_96_filtertiprack_200ul', '1')
plate = labware.load('corning_96_wellplate_360ul_flat', '2')
reservoir = labware.load('usascientific_12_reservoir_22ml', '3')

# Toggle btw to test!
p10 = instruments.P10_Multi('left', tip_racks=[tiprack])
# p10 = instruments.P10_Single('left', tip_racks=[tiprack])


volume = 5

p10.pick_up_tip()
p10.transfer(volume, plate.wells('A1'), robot.fixed_trash[0])
# Does weird slide here up (+) in Y, from dispense to drop tip location
# But I think that's existing behavior
p10.drop_tip()

p10.pick_up_tip()

p10.transfer(volume, robot.fixed_trash[0], reservoir.wells('A1'))

p10.blow_out(robot.fixed_trash[0])

p10.transfer(volume, reservoir.wells('A2'), plate.wells('A2'))

p10.drop_tip()

Copy link
Member

@sfoster1 sfoster1 left a comment

Choose a reason for hiding this comment

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

Code looks good

@codecov
Copy link

codecov bot commented Sep 16, 2019

Codecov Report

Merging #4027 into edge will decrease coverage by <.01%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             edge    #4027      +/-   ##
==========================================
- Coverage   57.29%   57.29%   -0.01%     
==========================================
  Files         850      850              
  Lines       23916    23919       +3     
==========================================
+ Hits        13703    13704       +1     
- Misses      10213    10215       +2
Impacted Files Coverage Δ
opentrons/server/rpc.py 88.02% <0%> (-1.05%) ⬇️
opentrons/legacy_api/robot/robot.py 88.69% <0%> (ø) ⬆️
opentrons/legacy_api/containers/__init__.py 77.58% <0%> (+0.59%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 82e5bbf...4cfa5f3. Read the comment docs.

@btmorr btmorr merged commit 42deac2 into edge Sep 16, 2019
@btmorr btmorr deleted the api_replace-format-with-quirks branch September 16, 2019 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Affects the `api` project feature Ticket is a feature request / PR introduces a feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants