Skip to content

Commit 543736e

Browse files
committed
adjust tuning values to match old settings and fix positioning.
1 parent 14775d5 commit 543736e

File tree

2 files changed

+54
-32
lines changed
  • hardware-testing/hardware_testing/gravimetric/protocol_replacement
  • shared-data/liquid-class/definitions/1/water

2 files changed

+54
-32
lines changed

hardware-testing/hardware_testing/gravimetric/protocol_replacement/gravimetric.py

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ class FixtureSettings:
165165
scale_delay: int
166166
blank_trials: int
167167
submerge_depth: float
168+
retracted_offset: float
168169
isolate_volumes: bool
169170
extra: bool
170171
labware_on_scale: str
@@ -216,6 +217,9 @@ def lookup_key(key: str, csv: List[List[str]]) -> List[str]:
216217
scale_delay = int(lookup_key("scale_delay", csv_params)[0])
217218
blank_trials = int(lookup_key("blank_trials", csv_params)[0])
218219
submerge_depth = float(lookup_key("submerge_depth", csv_params)[0])
220+
retracted_offset = 5.0
221+
# TODO maybe make this a CSV option
222+
# retracted_offset = float(lookup_key("retracted_offset", csv_params)[0])
219223
volumes_to_test_20ul = [
220224
float(volume) for volume in lookup_key("volumes_to_test_20ul", csv_params)
221225
]
@@ -422,6 +426,7 @@ def lookup_key(key: str, csv: List[List[str]]) -> List[str]:
422426
scale_delay=scale_delay,
423427
blank_trials=blank_trials,
424428
submerge_depth=submerge_depth,
429+
retracted_offset=retracted_offset,
425430
isolate_volumes=False,
426431
extra=extra,
427432
labware_on_scale=labware_on_scale,
@@ -860,6 +865,7 @@ def aspirate_with_liquid_class(
860865
transfer_properties: TransferProperties,
861866
) -> List[tx_comps_executor.LiquidAndAirGapPair]:
862867
"""Aspirate with liquid class."""
868+
print_info(f"transfer props {transfer_properties}")
863869
fixture_settings.recorder.set_sample_tag(
864870
create_measurement_tag("aspirate", volume, channel, trial)
865871
)
@@ -1015,30 +1021,46 @@ def run_one_test(
10151021
transfer_properties = fixture_settings.liquid_class.get_for(
10161022
fixture_settings.pipette.name, tip_rack=tiprack_uri
10171023
)
1018-
asp_offset = _get_offset_for_channel(
1024+
1025+
submerged_offset = _get_offset_for_channel(
10191026
fixture_settings, channel, fixture_settings.submerge_depth
10201027
)
1021-
disp_offset = _get_offset_for_channel(
1022-
fixture_settings, channel, fixture_settings.submerge_depth
1028+
retracted_offset = _get_offset_for_channel(
1029+
fixture_settings, channel, fixture_settings.retracted_offset
10231030
)
1024-
disp_retract_offset = _get_offset_for_channel(
1025-
fixture_settings, channel, 5 + fixture_settings.submerge_depth
1031+
1032+
# aspirate and dispense submerge start offsets.
1033+
transfer_properties.aspirate.submerge.start_position.position_reference = (
1034+
PositionReference.LIQUID_MENISCUS
10261035
)
1027-
transfer_properties.aspirate.submerge.start_position.offset = asp_offset
1028-
transfer_properties.dispense.submerge.start_position.offset = disp_offset
1029-
transfer_properties.aspirate.aspirate_position.offset = asp_offset
1030-
transfer_properties.dispense.dispense_position.offset = disp_offset
1031-
transfer_properties.aspirate.retract.end_position.offset = disp_retract_offset
1032-
transfer_properties.dispense.retract.end_position.offset = disp_retract_offset
1036+
transfer_properties.dispense.submerge.start_position.position_reference = (
1037+
PositionReference.LIQUID_MENISCUS
1038+
)
1039+
transfer_properties.aspirate.submerge.start_position.offset = retracted_offset
1040+
transfer_properties.dispense.submerge.start_position.offset = retracted_offset
1041+
1042+
# aspirate and dispense offsets
10331043
transfer_properties.aspirate.aspirate_position.position_reference = (
10341044
PositionReference.LIQUID_MENISCUS
10351045
)
10361046
transfer_properties.dispense.dispense_position.position_reference = (
10371047
PositionReference.LIQUID_MENISCUS
10381048
)
1049+
1050+
transfer_properties.aspirate.aspirate_position.offset = submerged_offset
1051+
transfer_properties.dispense.dispense_position.offset = submerged_offset
1052+
1053+
# aspirate and dispense retract end offsets
1054+
1055+
transfer_properties.aspirate.retract.end_position.position_reference = (
1056+
PositionReference.LIQUID_MENISCUS
1057+
)
10391058
transfer_properties.dispense.retract.end_position.position_reference = (
10401059
PositionReference.LIQUID_MENISCUS
10411060
)
1061+
transfer_properties.aspirate.retract.end_position.offset = retracted_offset
1062+
transfer_properties.dispense.retract.end_position.offset = retracted_offset
1063+
10421064
fixture_settings.pipette._core.load_liquid_class( # type: ignore [attr-defined]
10431065
name=fixture_settings.liquid_class.name,
10441066
transfer_properties=transfer_properties,
@@ -1055,7 +1077,7 @@ def run_one_test(
10551077
well_top = fixture_settings.liquid_source.top().point
10561078
above_scale = Point(
10571079
well_top.x,
1058-
well_top.y + asp_offset.y,
1080+
well_top.y + retracted_offset.y,
10591081
fixture_settings.pipette._get_last_location_by_api_version().point.z, # type: ignore [union-attr]
10601082
)
10611083
fixture_settings.pipette.move_to(Location(above_scale, None))

shared-data/liquid-class/definitions/1/water/1.json

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,7 +1023,7 @@
10231023
"z": 2
10241024
}
10251025
},
1026-
"speed": 100,
1026+
"speed": 50,
10271027
"delay": {
10281028
"enable": false,
10291029
"params": {
@@ -1042,8 +1042,8 @@
10421042
},
10431043
"speed": 50,
10441044
"airGapByVolume": [
1045-
[1.0, 1.0],
1046-
[49.0, 1.0],
1045+
[1.0, 0.1],
1046+
[49.0, 0.1],
10471047
[50.0, 0.0]
10481048
],
10491049
"touchTip": {
@@ -1100,7 +1100,7 @@
11001100
"z": 2
11011101
}
11021102
},
1103-
"speed": 100,
1103+
"speed": 50,
11041104
"delay": {
11051105
"enable": false,
11061106
"params": {
@@ -1119,15 +1119,15 @@
11191119
},
11201120
"speed": 50,
11211121
"airGapByVolume": [
1122-
[1.0, 1.0],
1123-
[49.0, 1.0],
1122+
[1.0, 0.1],
1123+
[49.0, 0.1],
11241124
[50.0, 0.0]
11251125
],
11261126
"blowout": {
11271127
"enable": true,
11281128
"params": {
11291129
"location": "destination",
1130-
"flowRate": 478.0
1130+
"flowRate": 318.0
11311131
}
11321132
},
11331133
"touchTip": {
@@ -1170,7 +1170,7 @@
11701170
"delay": {
11711171
"enable": false,
11721172
"params": {
1173-
"duration": 0.0
1173+
"duration": 0.5
11741174
}
11751175
}
11761176
},
@@ -1292,8 +1292,8 @@
12921292
},
12931293
"speed": 50,
12941294
"airGapByVolume": [
1295-
[1.0, 1.0],
1296-
[49.0, 1.0],
1295+
[1.0, 0.1],
1296+
[49.0, 0.1],
12971297
[50.0, 0.0]
12981298
],
12991299
"touchTip": {
@@ -1369,8 +1369,8 @@
13691369
},
13701370
"speed": 50,
13711371
"airGapByVolume": [
1372-
[1.0, 1.0],
1373-
[49.0, 1.0],
1372+
[1.0, 0.1],
1373+
[49.0, 0.1],
13741374
[50.0, 0.0]
13751375
],
13761376
"blowout": {
@@ -2499,8 +2499,8 @@
24992499
},
25002500
"speed": 50,
25012501
"airGapByVolume": [
2502-
[1.0, 1.0],
2503-
[49.0, 1.0],
2502+
[1.0, 0.1],
2503+
[49.0, 0.1],
25042504
[50.0, 0.0]
25052505
],
25062506
"touchTip": {
@@ -2576,8 +2576,8 @@
25762576
},
25772577
"speed": 50,
25782578
"airGapByVolume": [
2579-
[1.0, 1.0],
2580-
[49.0, 1.0],
2579+
[1.0, 0.1],
2580+
[49.0, 0.1],
25812581
[50.0, 0.0]
25822582
],
25832583
"blowout": {
@@ -2749,8 +2749,8 @@
27492749
},
27502750
"speed": 50,
27512751
"airGapByVolume": [
2752-
[1.0, 1.0],
2753-
[49.0, 1.0],
2752+
[1.0, 0.1],
2753+
[49.0, 0.1],
27542754
[50.0, 0.0]
27552755
],
27562756
"touchTip": {
@@ -2826,8 +2826,8 @@
28262826
},
28272827
"speed": 50,
28282828
"airGapByVolume": [
2829-
[1.0, 1.0],
2830-
[49.0, 1.0],
2829+
[1.0, 0.1],
2830+
[49.0, 0.1],
28312831
[50.0, 0.0]
28322832
],
28332833
"blowout": {

0 commit comments

Comments
 (0)