diff --git a/hardware-testing/Makefile b/hardware-testing/Makefile index a628034071d..34e936a4409 100755 --- a/hardware-testing/Makefile +++ b/hardware-testing/Makefile @@ -103,6 +103,7 @@ test-photometric: $(python) -m hardware_testing.gravimetric --photometric --simulate --pipette 1000 --channels 96 --tip 50 --trials 1 $(python) -m hardware_testing.gravimetric --photometric --simulate --pipette 1000 --channels 96 --tip 200 --trials 1 $(python) -m hardware_testing.gravimetric --photometric --simulate --pipette 200 --channels 96 --tip 50 --trials 1 + $(python) -m hardware_testing.gravimetric --photometric --simulate --pipette 200 --channels 96 --tip 20 --trials 1 -$(MAKE) remove-patches-gravimetric .PHONY: test-gravimetric-single diff --git a/hardware-testing/hardware_testing/gravimetric/__main__.py b/hardware-testing/hardware_testing/gravimetric/__main__.py index b5080fe1379..c2b5790a713 100644 --- a/hardware-testing/hardware_testing/gravimetric/__main__.py +++ b/hardware-testing/hardware_testing/gravimetric/__main__.py @@ -67,24 +67,10 @@ 96: gravimetric_ot3_p1000_96, }, } -CAVITY_GRAVIMETRIC_CFG = { - 50: { - 1: { - 20: gravimetric_cavity_ot3_p50_single, - 50: gravimetric_cavity_ot3_p50_single - }, - }, - 1000: { - 96: gravimetric_ot3_p1000_96, - }, -} GRAVIMETRIC_CFG_INCREMENT = { 50: { - 1: { - 20: gravimetric_ot3_p50_single, - 50: gravimetric_ot3_p50_single - }, + 1: {20: gravimetric_ot3_p50_single, 50: gravimetric_ot3_p50_single}, 8: {50: gravimetric_ot3_p50_multi_50ul_tip_increment}, }, 200: { @@ -123,7 +109,11 @@ }, }, 200: { - 96: {50: photometric_ot3_p200_96, 200: photometric_ot3_p200_96}, + 96: { + 20: photometric_ot3_p200_96, + 50: photometric_ot3_p200_96, + 200: photometric_ot3_p200_96, + }, }, 1000: { 1: { @@ -136,7 +126,11 @@ 200: photometric_ot3_p1000_multi, 1000: photometric_ot3_p1000_multi, }, - 96: {20: photometric_ot3_p1000_96, 50: photometric_ot3_p1000_96, 200: photometric_ot3_p1000_96}, + 96: { + 20: photometric_ot3_p1000_96, + 50: photometric_ot3_p1000_96, + 200: photometric_ot3_p1000_96, + }, }, } @@ -187,6 +181,7 @@ def _get_protocol_context(cls, args: argparse.Namespace) -> ProtocolContext: labware_dir = Path(__file__).parent.parent / "labware" custom_def_uris = [ "radwag_pipette_calibration_vial", + "opentrons_flex_96_tiprack_20ul_adp", "opentrons_flex_96_tiprack_50ul_adp", "opentrons_flex_96_tiprack_200ul_adp", "opentrons_flex_96_tiprack_1000ul_adp", diff --git a/hardware-testing/hardware_testing/gravimetric/config.py b/hardware-testing/hardware_testing/gravimetric/config.py index b9a53ad924a..e0a16affb7d 100644 --- a/hardware-testing/hardware_testing/gravimetric/config.py +++ b/hardware-testing/hardware_testing/gravimetric/config.py @@ -312,7 +312,8 @@ def _get_liquid_probe_settings( }, 96: { 200: [ - (50, [1.0, 5.0]), # T50 + (20, [1.0, 0.5]), # T50 + (50, [1.0]), # T50 (200, [200.0]), # T200 ], 1000: [ # P1000 @@ -400,6 +401,15 @@ def _get_liquid_probe_settings( }, 96: { 200: { + 20: { # T20 + 0.5: (2.5, 2.0), + 1.0: (2.5, 2.0), + 2.0: (2.5, 2.0), + 3.0: (2.5, 2.0), + 5.0: (2.5, 2.0), + 10.0: (3.1, 1.7), + 20.0: (3.1, 1.7), + }, 50: { # T50 1.0: (2.5, 2.0), 2.0: (2.5, 2.0), diff --git a/hardware-testing/hardware_testing/gravimetric/execute_photometric.py b/hardware-testing/hardware_testing/gravimetric/execute_photometric.py index c2c5f314428..a18fe636d0f 100644 --- a/hardware-testing/hardware_testing/gravimetric/execute_photometric.py +++ b/hardware-testing/hardware_testing/gravimetric/execute_photometric.py @@ -47,6 +47,7 @@ "B": {"min": 10, "max": 49.99}, "C": {"min": 2, "max": 9.999}, "D": {"min": 1, "max": 1.999}, + "E": {"min": 0, "max": 0.9999}, } _MIN_START_VOLUME_UL = {1: 500, 8: 3000, 96: 30000} _MIN_END_VOLUME_UL = {1: 400, 8: 3000, 96: 10000} diff --git a/hardware-testing/hardware_testing/gravimetric/helpers.py b/hardware-testing/hardware_testing/gravimetric/helpers.py index cc891234616..40795747ef0 100644 --- a/hardware-testing/hardware_testing/gravimetric/helpers.py +++ b/hardware-testing/hardware_testing/gravimetric/helpers.py @@ -402,6 +402,7 @@ def _load_tipracks( ) for slot in cfg.slots_tiprack ] + print(f"LOAD TIPRack{use_adapters}") for ls in tiprack_load_settings: ui.print_info(f'Loading tiprack "{ls[1]}" in slot #{ls[0]}') if use_adapters: diff --git a/hardware-testing/hardware_testing/gravimetric/liquid_class/defaults.py b/hardware-testing/hardware_testing/gravimetric/liquid_class/defaults.py index d064313668d..4cf2db68306 100644 --- a/hardware-testing/hardware_testing/gravimetric/liquid_class/defaults.py +++ b/hardware-testing/hardware_testing/gravimetric/liquid_class/defaults.py @@ -415,6 +415,35 @@ }, }, 200: { # P200 + 20: { # T20 + 1: DispenseSettings( # 5uL + z_submerge_depth=_default_submerge_dispense_mm, + plunger_acceleration=_default_accel_96ch_ul_sec_sec, + plunger_flow_rate=80, # ul/sec + delay=_default_dispense_delay_seconds, + z_retract_discontinuity=_default_retract_discontinuity, + z_retract_height=_default_retract_mm, + blow_out_submerged=5, + ), + 5: DispenseSettings( # 10uL + z_submerge_depth=_default_submerge_dispense_mm, + plunger_acceleration=_default_accel_96ch_ul_sec_sec, + plunger_flow_rate=80, # ul/sec + delay=_default_dispense_delay_seconds, + z_retract_discontinuity=_default_retract_discontinuity, + z_retract_height=_default_retract_mm, + blow_out_submerged=5, + ), + 20: DispenseSettings( # 50uL + z_submerge_depth=_default_submerge_dispense_mm, + plunger_acceleration=_default_accel_96ch_ul_sec_sec, + plunger_flow_rate=80, # ul/sec + delay=_default_dispense_delay_seconds, + z_retract_discontinuity=_default_retract_discontinuity, + z_retract_height=_default_retract_mm, + blow_out_submerged=5, + ), + }, 50: { # T50 5: DispenseSettings( # 5uL z_submerge_depth=_default_submerge_dispense_mm, @@ -910,6 +939,38 @@ }, }, 200: { # P200 + 20: { # T20 + 1: AspirateSettings( # 5uL + z_submerge_depth=_default_submerge_aspirate_mm, + plunger_acceleration=_default_accel_96ch_ul_sec_sec, + plunger_flow_rate=6.5, # ul/sec + delay=_default_aspirate_delay_seconds, + z_retract_discontinuity=_default_retract_discontinuity, + z_retract_height=_default_retract_mm, + leading_air_gap=0, + trailing_air_gap=0.1, + ), + 5: AspirateSettings( # 10uL + z_submerge_depth=_default_submerge_aspirate_mm, + plunger_acceleration=_default_accel_96ch_ul_sec_sec, + plunger_flow_rate=6.5, # ul/sec + delay=_default_aspirate_delay_seconds, + z_retract_discontinuity=_default_retract_discontinuity, + z_retract_height=_default_retract_mm, + leading_air_gap=0, + trailing_air_gap=0.1, + ), + 20: AspirateSettings( # 50uL + z_submerge_depth=_default_submerge_aspirate_mm, + plunger_acceleration=_default_accel_96ch_ul_sec_sec, + plunger_flow_rate=6.5, # ul/sec + delay=_default_aspirate_delay_seconds, + z_retract_discontinuity=_default_retract_discontinuity, + z_retract_height=_default_retract_mm, + leading_air_gap=0, + trailing_air_gap=0.1, + ), + }, 50: { # T50 5: AspirateSettings( # 5uL z_submerge_depth=_default_submerge_aspirate_mm, diff --git a/hardware-testing/hardware_testing/labware/opentrons_flex_96_tiprack_20ul_adp/1.json b/hardware-testing/hardware_testing/labware/opentrons_flex_96_tiprack_20ul_adp/1.json new file mode 100644 index 00000000000..a5577d4ab7e --- /dev/null +++ b/hardware-testing/hardware_testing/labware/opentrons_flex_96_tiprack_20ul_adp/1.json @@ -0,0 +1,1017 @@ +{ + "ordering": [ + ["A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1"], + ["A2", "B2", "C2", "D2", "E2", "F2", "G2", "H2"], + ["A3", "B3", "C3", "D3", "E3", "F3", "G3", "H3"], + ["A4", "B4", "C4", "D4", "E4", "F4", "G4", "H4"], + ["A5", "B5", "C5", "D5", "E5", "F5", "G5", "H5"], + ["A6", "B6", "C6", "D6", "E6", "F6", "G6", "H6"], + ["A7", "B7", "C7", "D7", "E7", "F7", "G7", "H7"], + ["A8", "B8", "C8", "D8", "E8", "F8", "G8", "H8"], + ["A9", "B9", "C9", "D9", "E9", "F9", "G9", "H9"], + ["A10", "B10", "C10", "D10", "E10", "F10", "G10", "H10"], + ["A11", "B11", "C11", "D11", "E11", "F11", "G11", "H11"], + ["A12", "B12", "C12", "D12", "E12", "F12", "G12", "H12"] + ], + "brand": { + "brand": "ryantrons OT-3", + "brandId": [] + }, + "metadata": { + "displayName": "Opentrons Flex 96 Tip Rack 20 µL with adapter", + "displayCategory": "tipRack", + "displayVolumeUnits": "µL", + "tags": [] + }, + "dimensions": { + "xDimension": 127.76, + "yDimension": 85.48, + "zDimension": 132 + }, + "wells": { + "A1": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 14.38, + "y": 74.1, + "z": 74.1 + }, + "B1": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 14.38, + "y": 65.1, + "z": 74.1 + }, + "C1": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 14.38, + "y": 56.1, + "z": 74.1 + }, + "D1": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 14.38, + "y": 47.1, + "z": 74.1 + }, + "E1": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 14.38, + "y": 38.1, + "z": 74.1 + }, + "F1": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 14.38, + "y": 29.1, + "z": 74.1 + }, + "G1": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 14.38, + "y": 20.1, + "z": 74.1 + }, + "H1": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 14.38, + "y": 11.1, + "z": 74.1 + }, + "A2": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 23.38, + "y": 74.1, + "z": 74.1 + }, + "B2": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 23.38, + "y": 65.1, + "z": 74.1 + }, + "C2": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 23.38, + "y": 56.1, + "z": 74.1 + }, + "D2": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 23.38, + "y": 47.1, + "z": 74.1 + }, + "E2": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 23.38, + "y": 38.1, + "z": 74.1 + }, + "F2": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 23.38, + "y": 29.1, + "z": 74.1 + }, + "G2": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 23.38, + "y": 20.1, + "z": 74.1 + }, + "H2": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 23.38, + "y": 11.1, + "z": 74.1 + }, + "A3": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 32.38, + "y": 74.1, + "z": 74.1 + }, + "B3": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 32.38, + "y": 65.1, + "z": 74.1 + }, + "C3": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 32.38, + "y": 56.1, + "z": 74.1 + }, + "D3": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 32.38, + "y": 47.1, + "z": 74.1 + }, + "E3": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 32.38, + "y": 38.1, + "z": 74.1 + }, + "F3": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 32.38, + "y": 29.1, + "z": 74.1 + }, + "G3": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 32.38, + "y": 20.1, + "z": 74.1 + }, + "H3": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 32.38, + "y": 11.1, + "z": 74.1 + }, + "A4": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 41.38, + "y": 74.1, + "z": 74.1 + }, + "B4": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 41.38, + "y": 65.1, + "z": 74.1 + }, + "C4": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 41.38, + "y": 56.1, + "z": 74.1 + }, + "D4": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 41.38, + "y": 47.1, + "z": 74.1 + }, + "E4": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 41.38, + "y": 38.1, + "z": 74.1 + }, + "F4": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 41.38, + "y": 29.1, + "z": 74.1 + }, + "G4": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 41.38, + "y": 20.1, + "z": 74.1 + }, + "H4": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 41.38, + "y": 11.1, + "z": 74.1 + }, + "A5": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 50.38, + "y": 74.1, + "z": 74.1 + }, + "B5": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 50.38, + "y": 65.1, + "z": 74.1 + }, + "C5": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 50.38, + "y": 56.1, + "z": 74.1 + }, + "D5": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 50.38, + "y": 47.1, + "z": 74.1 + }, + "E5": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 50.38, + "y": 38.1, + "z": 74.1 + }, + "F5": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 50.38, + "y": 29.1, + "z": 74.1 + }, + "G5": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 50.38, + "y": 20.1, + "z": 74.1 + }, + "H5": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 50.38, + "y": 11.1, + "z": 74.1 + }, + "A6": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 59.38, + "y": 74.1, + "z": 74.1 + }, + "B6": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 59.38, + "y": 65.1, + "z": 74.1 + }, + "C6": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 59.38, + "y": 56.1, + "z": 74.1 + }, + "D6": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 59.38, + "y": 47.1, + "z": 74.1 + }, + "E6": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 59.38, + "y": 38.1, + "z": 74.1 + }, + "F6": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 59.38, + "y": 29.1, + "z": 74.1 + }, + "G6": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 59.38, + "y": 20.1, + "z": 74.1 + }, + "H6": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 59.38, + "y": 11.1, + "z": 74.1 + }, + "A7": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 68.38, + "y": 74.1, + "z": 74.1 + }, + "B7": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 68.38, + "y": 65.1, + "z": 74.1 + }, + "C7": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 68.38, + "y": 56.1, + "z": 74.1 + }, + "D7": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 68.38, + "y": 47.1, + "z": 74.1 + }, + "E7": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 68.38, + "y": 38.1, + "z": 74.1 + }, + "F7": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 68.38, + "y": 29.1, + "z": 74.1 + }, + "G7": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 68.38, + "y": 20.1, + "z": 74.1 + }, + "H7": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 68.38, + "y": 11.1, + "z": 74.1 + }, + "A8": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 77.38, + "y": 74.1, + "z": 74.1 + }, + "B8": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 77.38, + "y": 65.1, + "z": 74.1 + }, + "C8": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 77.38, + "y": 56.1, + "z": 74.1 + }, + "D8": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 77.38, + "y": 47.1, + "z": 74.1 + }, + "E8": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 77.38, + "y": 38.1, + "z": 74.1 + }, + "F8": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 77.38, + "y": 29.1, + "z": 74.1 + }, + "G8": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 77.38, + "y": 20.1, + "z": 74.1 + }, + "H8": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 77.38, + "y": 11.1, + "z": 74.1 + }, + "A9": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 86.38, + "y": 74.1, + "z": 74.1 + }, + "B9": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 86.38, + "y": 65.1, + "z": 74.1 + }, + "C9": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 86.38, + "y": 56.1, + "z": 74.1 + }, + "D9": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 86.38, + "y": 47.1, + "z": 74.1 + }, + "E9": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 86.38, + "y": 38.1, + "z": 74.1 + }, + "F9": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 86.38, + "y": 29.1, + "z": 74.1 + }, + "G9": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 86.38, + "y": 20.1, + "z": 74.1 + }, + "H9": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 86.38, + "y": 11.1, + "z": 74.1 + }, + "A10": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 95.38, + "y": 74.1, + "z": 74.1 + }, + "B10": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 95.38, + "y": 65.1, + "z": 74.1 + }, + "C10": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 95.38, + "y": 56.1, + "z": 74.1 + }, + "D10": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 95.38, + "y": 47.1, + "z": 74.1 + }, + "E10": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 95.38, + "y": 38.1, + "z": 74.1 + }, + "F10": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 95.38, + "y": 29.1, + "z": 74.1 + }, + "G10": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 95.38, + "y": 20.1, + "z": 74.1 + }, + "H10": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 95.38, + "y": 11.1, + "z": 74.1 + }, + "A11": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 104.38, + "y": 74.1, + "z": 74.1 + }, + "B11": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 104.38, + "y": 65.1, + "z": 74.1 + }, + "C11": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 104.38, + "y": 56.1, + "z": 74.1 + }, + "D11": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 104.38, + "y": 47.1, + "z": 74.1 + }, + "E11": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 104.38, + "y": 38.1, + "z": 74.1 + }, + "F11": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 104.38, + "y": 29.1, + "z": 74.1 + }, + "G11": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 104.38, + "y": 20.1, + "z": 74.1 + }, + "H11": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 104.38, + "y": 11.1, + "z": 74.1 + }, + "A12": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 113.38, + "y": 74.1, + "z": 74.1 + }, + "B12": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 113.38, + "y": 65.1, + "z": 74.1 + }, + "C12": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 113.38, + "y": 56.1, + "z": 74.1 + }, + "D12": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 113.38, + "y": 47.1, + "z": 74.1 + }, + "E12": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 113.38, + "y": 38.1, + "z": 74.1 + }, + "F12": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 113.38, + "y": 29.1, + "z": 74.1 + }, + "G12": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 113.38, + "y": 20.1, + "z": 74.1 + }, + "H12": { + "depth": 57.9, + "totalLiquidVolume": 20, + "shape": "circular", + "diameter": 5.58, + "x": 113.38, + "y": 11.1, + "z": 74.1 + } + }, + "groups": [ + { + "metadata": {}, + "wells": [ + "A1", + "B1", + "C1", + "D1", + "E1", + "F1", + "G1", + "H1", + "A2", + "B2", + "C2", + "D2", + "E2", + "F2", + "G2", + "H2", + "A3", + "B3", + "C3", + "D3", + "E3", + "F3", + "G3", + "H3", + "A4", + "B4", + "C4", + "D4", + "E4", + "F4", + "G4", + "H4", + "A5", + "B5", + "C5", + "D5", + "E5", + "F5", + "G5", + "H5", + "A6", + "B6", + "C6", + "D6", + "E6", + "F6", + "G6", + "H6", + "A7", + "B7", + "C7", + "D7", + "E7", + "F7", + "G7", + "H7", + "A8", + "B8", + "C8", + "D8", + "E8", + "F8", + "G8", + "H8", + "A9", + "B9", + "C9", + "D9", + "E9", + "F9", + "G9", + "H9", + "A10", + "B10", + "C10", + "D10", + "E10", + "F10", + "G10", + "H10", + "A11", + "B11", + "C11", + "D11", + "E11", + "F11", + "G11", + "H11", + "A12", + "B12", + "C12", + "D12", + "E12", + "F12", + "G12", + "H12" + ] + } + ], + "parameters": { + "format": "96Standard", + "quirks": [], + "isTiprack": true, + "tipLength": 57.9, + "tipOverlap": 10.5, + "isMagneticModuleCompatible": false, + "loadName": "opentrons_flex_96_tiprack_20ul_adp" + }, + "namespace": "custom_beta", + "version": 1, + "schemaVersion": 2, + "cornerOffsetFromSlot": { + "x": 0, + "y": 0, + "z": 0 + } +} diff --git a/hardware-testing/hardware_testing/protocols/gravimetric_lpc/gravimetric/gravimetric_cavity_ot3_p50_single.py b/hardware-testing/hardware_testing/protocols/gravimetric_lpc/gravimetric/gravimetric_cavity_ot3_p50_single.py index 88436ba6ff2..8d56641eb1d 100644 --- a/hardware-testing/hardware_testing/protocols/gravimetric_lpc/gravimetric/gravimetric_cavity_ot3_p50_single.py +++ b/hardware-testing/hardware_testing/protocols/gravimetric_lpc/gravimetric/gravimetric_cavity_ot3_p50_single.py @@ -6,10 +6,7 @@ requirements = {"robotType": "Flex", "apiLevel": "2.15"} SLOT_SCALE = 4 -SLOTS_TIPRACK = { - 20: [2, 3, 5, 6, 7, 8, 9, 10], - 50: [2, 3, 5, 6, 7, 8, 9, 10] -} +SLOTS_TIPRACK = {20: [2, 3, 5, 6, 7, 8, 9, 10], 50: [2, 3, 5, 6, 7, 8, 9, 10]} LABWARE_ON_SCALE = "radwag_pipette_calibration_vial" @@ -28,7 +25,7 @@ def run(ctx: ProtocolContext) -> None: pipette.dispense(10, vial["A1"].top()) pipette.drop_tip(home_after=False) ctx.move_labware( - rack, - new_location=OffDeckType.OFF_DECK, - use_gripper=False, - ) + rack, + new_location=OffDeckType.OFF_DECK, + use_gripper=False, + ) diff --git a/hardware-testing/hardware_testing/protocols/gravimetric_lpc/photometric/photometric_ot3_p1000_96.py b/hardware-testing/hardware_testing/protocols/gravimetric_lpc/photometric/photometric_ot3_p1000_96.py index 5473b2bd812..430b9e2e3c0 100644 --- a/hardware-testing/hardware_testing/protocols/gravimetric_lpc/photometric/photometric_ot3_p1000_96.py +++ b/hardware-testing/hardware_testing/protocols/gravimetric_lpc/photometric/photometric_ot3_p1000_96.py @@ -1,5 +1,6 @@ """Photometric OT3 P1000.""" from opentrons.protocol_api import ProtocolContext +from opentrons.protocol_api._types import OffDeckType metadata = {"protocolName": "photometric-ot3-p1000-96"} requirements = {"robotType": "Flex", "apiLevel": "2.15"} @@ -18,15 +19,6 @@ def run(ctx: ProtocolContext) -> None: """Run.""" - tipracks = [ - # FIXME: use official tip-racks once available - ctx.load_labware( - f"opentrons_flex_96_tiprack_{size}uL_adp", slot, namespace="custom_beta" - ) - for size, slots in SLOTS_TIPRACK.items() - for slot in slots - if size == 50 # only calibrate 50ul tips for 96ch test - ] reservoir = ctx.load_labware(RESERVOIR_LABWARE, SLOT_RESERVOIR) plate = ctx.load_labware(PHOTOPLATE_LABWARE, SLOT_PLATE) pipette = ctx.load_instrument("flex_96channel_1000", "left") diff --git a/hardware-testing/hardware_testing/protocols/gravimetric_lpc/photometric/photometric_ot3_p200_96.py b/hardware-testing/hardware_testing/protocols/gravimetric_lpc/photometric/photometric_ot3_p200_96.py index 092c00e5878..5e999596b28 100644 --- a/hardware-testing/hardware_testing/protocols/gravimetric_lpc/photometric/photometric_ot3_p200_96.py +++ b/hardware-testing/hardware_testing/protocols/gravimetric_lpc/photometric/photometric_ot3_p200_96.py @@ -6,6 +6,7 @@ requirements = {"robotType": "Flex", "apiLevel": "2.15"} SLOTS_TIPRACK = { + 20: [5, 6, 8, 9, 11], 50: [5, 6, 8, 9, 11], 200: [5, 6, 8, 9, 11], } @@ -23,7 +24,7 @@ def run(ctx: ProtocolContext) -> None: pipette = ctx.load_instrument("flex_96channel_200", "left") adapters = [ ctx.load_adapter("opentrons_flex_96_tiprack_adapter", slot) - for slot in SLOTS_TIPRACK[50] + for slot in SLOTS_TIPRACK[20] ] for tip_size in SLOTS_TIPRACK.keys(): tipracks = [ diff --git a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json index 82052a762f1..f31263db9cb 100644 --- a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json +++ b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p200/default/1_0.json @@ -1,6 +1,57 @@ { "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json", "supportedTips": { + "t20": { + "uiMaxFlowRate": 189.1, + "defaultAspirateFlowRate": { + "default": 6, + "valuesByApiLevel": { "2.14": 6 } + }, + "defaultDispenseFlowRate": { + "default": 6, + "valuesByApiLevel": { "2.14": 6 } + }, + "defaultBlowOutFlowRate": { + "default": 80, + "valuesByApiLevel": { "2.14": 80 } + }, + "defaultFlowAcceleration": 16000.0, + "defaultTipLength": 57.9, + "defaultReturnTipHeight": 0.6, + "aspirate": { + "default": { + "1": [ + [1.933333, 2.844459, 4.750159], + [2.833333, 1.12901, 8.066694], + [3.603333, 0.254744, 10.543779], + [4.836667, 1.101839, 7.491414], + [5.755, 0.277649, 11.47775], + [6.643333, 0.14813, 12.223126], + [7.548333, 0.145635, 12.239705], + [8.475, 0.15097, 12.199433], + [13.02, 0.071736, 12.870946], + [22.318333, 0.042305, 13.254131] + ] + } + }, + "dispense": { + "default": { + "1": [ + [1.933333, 2.844459, 4.750159], + [2.833333, 1.12901, 8.066694], + [3.603333, 0.254744, 10.543779], + [4.836667, 1.101839, 7.491414], + [5.755, 0.277649, 11.47775], + [6.643333, 0.14813, 12.223126], + [7.548333, 0.145635, 12.239705], + [8.475, 0.15097, 12.199433], + [13.02, 0.071736, 12.870946], + [22.318333, 0.042305, 13.254131] + ] + } + }, + "defaultPushOutVolume": 2 + }, "t50": { "defaultAspirateFlowRate": { "default": 6, diff --git a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json index c135b61f8a5..ca0e02414fe 100644 --- a/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json +++ b/shared-data/pipette/definitions/2/liquid/ninety_six_channel/p200/default/3_0.json @@ -1,6 +1,57 @@ { "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json", "supportedTips": { + "t20": { + "uiMaxFlowRate": 189.1, + "defaultAspirateFlowRate": { + "default": 6, + "valuesByApiLevel": { "2.14": 6 } + }, + "defaultDispenseFlowRate": { + "default": 6, + "valuesByApiLevel": { "2.14": 6 } + }, + "defaultBlowOutFlowRate": { + "default": 80, + "valuesByApiLevel": { "2.14": 80 } + }, + "defaultFlowAcceleration": 16000.0, + "defaultTipLength": 57.9, + "defaultReturnTipHeight": 0.6, + "aspirate": { + "default": { + "1": [ + [1.933333, 2.844459, 4.750159], + [2.833333, 1.12901, 8.066694], + [3.603333, 0.254744, 10.543779], + [4.836667, 1.101839, 7.491414], + [5.755, 0.277649, 11.47775], + [6.643333, 0.14813, 12.223126], + [7.548333, 0.145635, 12.239705], + [8.475, 0.15097, 12.199433], + [13.02, 0.071736, 12.870946], + [22.318333, 0.042305, 13.254131] + ] + } + }, + "dispense": { + "default": { + "1": [ + [1.933333, 2.844459, 4.750159], + [2.833333, 1.12901, 8.066694], + [3.603333, 0.254744, 10.543779], + [4.836667, 1.101839, 7.491414], + [5.755, 0.277649, 11.47775], + [6.643333, 0.14813, 12.223126], + [7.548333, 0.145635, 12.239705], + [8.475, 0.15097, 12.199433], + [13.02, 0.071736, 12.870946], + [22.318333, 0.042305, 13.254131] + ] + } + }, + "defaultPushOutVolume": 2 + }, "t50": { "uiMaxFlowRate": 194, "defaultAspirateFlowRate": { @@ -114,13 +165,18 @@ "minVolume": 1, "defaultTipOverlapDictionary": { "default": 10.5, + "opentrons/opentrons_flex_96_tiprack_20ul/1": 10.5, "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5, - "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5 + "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5, + "opentrons/opentrons_flex_96_filtertiprack_20ul/1": 10.5, + "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5, + "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5 }, "defaultTipracks": [ "opentrons/opentrons_flex_96_tiprack_200ul/1", "opentrons/opentrons_flex_96_tiprack_50ul/1", + "opentrons/opentrons_flex_96_tiprack_20ul/1", "opentrons/opentrons_flex_96_filtertiprack_200ul/1", - "opentrons/opentrons_flex_96_filtertiprack_50ul/1" + "opentrons/opentrons_flex_96_filtertiprack_20ul/1" ] }