Skip to content

Commit fb4a622

Browse files
authored
step_off_foil for rotated plates (#419)
1 parent 6cb018a commit fb4a622

File tree

2 files changed

+17
-5
lines changed
  • pylabrobot

2 files changed

+17
-5
lines changed

pylabrobot/liquid_handling/backends/hamilton/STAR.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7820,8 +7820,21 @@ async def step_off_foil(
78207820
)
78217821

78227822
# Get the absolute locations for center front top and center back top
7823-
back_location = well.get_absolute_location("c", "b", "t")
7824-
front_location = well.get_absolute_location("c", "f", "t")
7823+
orientation = well.get_absolute_rotation().z % 90
7824+
if orientation == 0:
7825+
back_location = well.get_absolute_location("c", "b", "t")
7826+
front_location = well.get_absolute_location("c", "f", "t")
7827+
elif orientation == 90:
7828+
back_location = well.get_absolute_location("r", "c", "t")
7829+
front_location = well.get_absolute_location("l", "c", "t")
7830+
elif orientation == 180:
7831+
back_location = well.get_absolute_location("c", "f", "b")
7832+
front_location = well.get_absolute_location("c", "b", "b")
7833+
elif orientation == 270:
7834+
back_location = well.get_absolute_location("l", "c", "b")
7835+
front_location = well.get_absolute_location("r", "c", "b")
7836+
else:
7837+
raise ValueError("Rotation of well must be a multiple of 90 degrees")
78257838

78267839
try:
78277840
# Then move all channels in the y-space simultaneously.

pylabrobot/resources/thermo_fisher/plates.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def Thermo_TS_96_wellplate_1200ul_Rb(name: str, with_lid: bool = False) -> Plate
119119
def Thermo_TS_96_wellplate_1200ul_Rb_L(name: str, with_lid: bool = False) -> Plate:
120120
# https://github.com/PyLabRobot/pylabrobot/issues/252
121121
raise NotImplementedError(
122-
"_L and _P definitions are deprecated. Use " "Thermo_TS_96_wellplate_1200ul_Rb instead."
122+
"_L and _P definitions are deprecated. Use Thermo_TS_96_wellplate_1200ul_Rb instead."
123123
)
124124

125125

@@ -232,8 +232,7 @@ def Thermo_AB_96_wellplate_300ul_Vb_EnduraPlate(name: str, with_lid: bool = Fals
232232

233233
def Thermo_AB_96_wellplate_300ul_Vb_EnduraPlate_L(name: str, with_lid: bool = False) -> Plate:
234234
raise NotImplementedError(
235-
"_L and _P definitions are deprecated. Use "
236-
"Thermo_AB_96_wellplate_300ul_Vb_EnduraPlate instead."
235+
"_L and _P definitions are deprecated. Use Thermo_AB_96_wellplate_300ul_Vb_EnduraPlate instead."
237236
)
238237

239238

0 commit comments

Comments
 (0)