Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/resources/library/hamilton.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ Sometimes called "sample carriers" in Hamilton jargon.
| Description | Image | PLR definition |
| - | - | - |
| 'Tube_CAR_24_A00'<br>Part no.: 173400<br>[manufacturer website](https://www.hamiltoncompany.com/automated-liquid-handling/other-robotics/173400) <br>Carries 24 "sample" tubes with 14.5–18 mm outer diameter, 60–120 mm high. Occupies one track. | ![](img/hamilton/Tube_CAR_24_A00.png) | `Tube_CAR_24_A00` |
| 'SMP_CAR_32_A00'<br>Part no.: 173410<br>[manufacturer website](https://www.hamiltoncompany.com/other-robotics/173410) <br>Carries 32 "sample" tubes with 11–14 mm outer diameter, 60–120 mm high. Occupies one track. | ![](img/hamilton/Tube_CAR_32_A00.png.avif) | `hamilton_tube_carrier_32_a00` |
| 'hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL'<br>Part no.: 173410<br>[manufacturer website](https://www.hamiltoncompany.com/other-robotics/173410) <br>Carries 32 `Eppendorf_DNA_LoBind_1_5ml_Vb` or `Eppendorf_Protein_LoBind_1_5ml_Vb` tubes. Occupies one track. | ![](img/hamilton/Tube_CAR_32_A00.png.avif) | `hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL` |
| 'hamilton_tube_carrier_12_b00'<br>Part no.: 182045<br>[manufacturer website](https://www.hamiltoncompany.com/other-robotics/50-ml-falcon-tube-carrier) <br>Carries 12 "sample" tubes with 30 mm outer diameter, 115 mm high. Occupies two tracks. | ![](img/hamilton/hamilton_tube_carrier_12_b00.jpg) | `hamilton_tube_carrier_12_b00` |

Expand Down
44 changes: 40 additions & 4 deletions pylabrobot/resources/hamilton/tube_carriers.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,48 @@ def Tube_CAR_24_A00(name: str) -> TubeCarrier:

def Tube_CAR_32_A00(name: str) -> TubeCarrier:
warnings.warn(
"The true dimensions of a Tube_CAR_32_A00 (SMP_CAR_32_A00) are not known. "
"The hamilton definitions are with inserts. "
"Do you want to use `hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL` instead?",
"`Tube_CAR_32_A00` is deprecated. "
"Use `hamilton_tube_carrier_32_a00` for the carrier without inserts or "
"`hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL` for the carrier "
"with Eppendorf 1.5 mL inserts.",
DeprecationWarning,
stacklevel=2,
)
return hamilton_tube_carrier_32_a00(name)


def hamilton_tube_carrier_32_a00(name: str) -> TubeCarrier:
"""Hamilton cat. no.: 173410 without inserts.
Hamilton name: 'SMP_CAR_32_A00'.
'Sample' carrier for 32 tubes.
1 track(T) wide.

The 15 mm site pitch and centerline are inherited from the verified
insert-specific definition. The bare-hole diameter and tube-support Z were
measured directly.
"""
hole_diameter = 13.4
return TubeCarrier(
name=name,
size_x=22.5, # 1 track
size_y=497.0, # standard
size_z=60.0, # measured without inserts
sites=create_homogeneous_resources(
klass=ResourceHolder,
locations=[
Coordinate(
14.5 - hole_diameter / 2,
14.5 - hole_diameter / 2 + x * 15,
50.2,
)
for x in range(32)
],
resource_size_x=hole_diameter,
resource_size_y=hole_diameter,
name_prefix=name,
),
model=hamilton_tube_carrier_32_a00.__name__,
)
return hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL(name)


def hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL(name: str) -> TubeCarrier:
Expand Down
Loading