Commit eca564a
feat(api): implement the liquid transfer function (#17179)
Closes AUTH-866
# Overview
Final PR of the 3-PR series.
Implements `InstrumentCore.transfer_liquid()`.
The `transfer_liquid()` method does the following:
1. Loads the relevant liquid class record into protocol engine, gets the
liquid class ID back. This will be used in command annotations in the
future
2. Breaks down the total transfer volume into piecewise transfers, if
necessary.
3. Does auto-tip handling, unless the user has specified to 'never' use
a new tip.
4. Calls `aspirate_liquid_class()` and `dispense_liquid_class()` for
every source-> destination transfer.
This PR also updates the tiprack 'names' to URIs in the liquid class
definition in shared data for 'water' only. We will have a separate PR
for updating rest of the definitions.
## Risk assessment
Low. Doesn't change existing API
---------
Co-authored-by: David Chau <[email protected]>1 parent 630b1b2 commit eca564a
File tree
18 files changed
+992
-239
lines changed- api
- src/opentrons
- protocol_api
- core
- engine
- legacy_simulator
- legacy
- protocol_engine/clients
- tests/opentrons
- protocol_api_integration
- protocol_api
- core/engine
18 files changed
+992
-239
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
0 commit comments