-
Notifications
You must be signed in to change notification settings - Fork 179
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(hardware-testing): grav script on ot3 (#12302)
* moves gravimetric functionality into its own subfolder * move all ot2 functionality into gravimetric project * wip * change tipracks to ot3 versions * can simulate on OT3 * runs on ot3 without error * removes ProtocolContext from scale implementation * push-plot-webpage-ot3 works * wip * DELETE THIS COMMIT * adds DVT pipettes to shared data * ot3simulator small to change to allow simulation * local simulation working * use passed loop from ThreadManager when build OT3APIg * use correct filepath for OT3 data files * move execute to single file * placeholder for liquid-class defaults for OT3 * only read from scale when needed * remove pipette-timestamps * integrates with scale; adds more volumes * wip * remove hack from before revisioning update * remove unnecessary v3.4 pipettes from shared-data * redo default liquid class settings for OT3 qc volumes * deletes a lot of stuff * adds comments on reduced leading-air-gaps * interpolate between liquid classes; move labware-def to static python file * increments test with cleared pipette ul-per-mm * get labware-offsets; low_volume flag in config to filter <2uL * linting * adds is_simulator to scale; reduce 50ul leading air-gaps to avoid SW bug * adds blank measurements to find evaporation rate * add mix before aspirate * remove aspirate after blow-out * change wording evaporation to blank * adds blowout with microliters to HW api * use HW api to run blow-out with microliters within grav script * reorganizes pipetting sequence code; adds verbose comments * wip: adding test report * wip: test-report is generated and format seems correct * wip: most data stored, just need to calculate volumes * wip: more cleaning up; store trial volumes * entire test report is filled out * calculate volumes using grams and environment data * adds more args; adds fake protocol for calibrating tipracks * updates vial labware def * don't fail out if the rear-panel isn't found since EVT bots don't have one yet * put usb connected rear-panel behind a feature flag * update robot server tests * few fixups from rebase * linting error from pipette qc script * slowing to 50mm/sec reduces noise on scale from moving air * use encoders after pick-up-tip * adds return tip option; multiple tip-racks * add hard-coded vial offset to get around App bug * adds script for finding labware offset * option to skip blank readings * correct decimal place on uL calculations * keep tip farther away from liquid during blank measurements * also limit dispense volumes to 90% of pipette max * print final results at end * fix(engine): subtract nominal overlap when calculating nominal tip le * slow down acceleration/discontinuity; hard-code homing speeds to be faster * testing went well * linting * adds inspect and skip-mix arguments * better printout during test run * removing warnings about not having tip-length calibration on OT3 * adds starting-tip * use same submerge/retract distances for aspirate and dispense * adds pipette temperature readings * --inspect speeds all measurements up * use all of plunger * test more options in makefile * increase p1000-single pick-up-current from 0.15 to 0.25 * fix bug where 1x trial would break CV calculations * wip: tuning mix so droplets aren't created * increase T50 leading-air-gaps * update liquid-class settings to match tested values from Nick * adds --user-volumes * raise top plunger positions from 0.5 to 0.0 * reduce amount of logs during measurement delay * load latest data 100ms after finishing previous data * different speeds for retract/submerge * combine all stable samples into one segment to average; reduce delay time to 10 seconds * reduct p1000 leading-air-gap from 32 to 16, so only one bubble is ejected while submerged * change skip-mix and skip-blank args to mix and blank * linting! * remove waiting for user to confirmware labware offsets * removes unnecessary changes to api * remove reading temp-humidity within script * remove blow-out with volume from api * plate blow-out with micro-liters in hardware-testing script * linting! * remove shared-data changes * delete temp script for testing labware offsets * remove tip-overlap bug fix * fix broken test * fix makefile incorrectly calling gravimetric script * json uses 2-space indentation * format-js --------- Co-authored-by: Ryan howard <[email protected]>
- Loading branch information
1 parent
4850e2b
commit 055fafa
Showing
65 changed files
with
2,482 additions
and
19,261 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
39 changes: 39 additions & 0 deletions
39
hardware-testing/hardware_testing/examples/pipette_sensors_ot3.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
"""Pipette sensors OT3.""" | ||
import argparse | ||
import asyncio | ||
from time import sleep | ||
|
||
from hardware_testing.opentrons_api import helpers_ot3 | ||
from hardware_testing.opentrons_api.types import OT3Mount | ||
|
||
|
||
async def _main(is_simulating: bool) -> None: | ||
api = await helpers_ot3.build_async_ot3_hardware_api( | ||
is_simulating=is_simulating, | ||
pipette_left="p1000_single_v3.3", | ||
pipette_right="p1000_single_v3.3", | ||
) | ||
pip_mounts = [OT3Mount.from_mount(m) for m, p in api.hardware_pipettes.items() if p] | ||
while True: | ||
for mount in pip_mounts: | ||
pascals = await helpers_ot3.get_pressure_ot3(api, mount) | ||
pico_farads = await helpers_ot3.get_capacitance_ot3(api, mount) | ||
celsius, humidity = await helpers_ot3.get_temperature_humidity_ot3( | ||
api, mount | ||
) | ||
print( | ||
f"-----\n" | ||
f"{mount.name}:\n" | ||
f"\tpascals={pascals}\n" | ||
f"\tpico_farads={pico_farads}\n" | ||
f"\tcelsius={celsius}\n" | ||
f"\thumidity={humidity}" | ||
) | ||
sleep(0.2) | ||
|
||
|
||
if __name__ == "__main__": | ||
parser = argparse.ArgumentParser() | ||
parser.add_argument("--simulate", action="store_true") | ||
args = parser.parse_args() | ||
asyncio.run(_main(args.simulate)) |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.