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
16 changes: 13 additions & 3 deletions docs/_static/devices.json
Original file line number Diff line number Diff line change
Expand Up @@ -526,16 +526,26 @@
"oem": "https://www.hamiltoncompany.com/microlab-vantage"
},
{
"id": "hettich-rotanta-460",
"id": "hettich-robotic-centrifuges",
"vendor": "Hettich",
"name": "ROTANTA 460 Robotic",
"name": "Robotic centrifuges",
"models": [
{"name": "MIKRO 220 Robotic", "status": "full"},
{"name": "ROTANTA 460 Robotic", "status": "wip"},
{"name": "ROTINA 380 Robotic", "status": "wip"},
{"name": "ROTINA 380 R Robotic", "status": "wip"}
],
"kind": "centrifuge",
"capabilities": [
"centrifuging"
],
"status": "wip",
"api": "pylabrobot.hettich.HettichRoboticCentrifuge",
"api_version": "v1",
"code_slug": "hettich/centrifuge",
"doc_slug": "hettich/mikro-220/hello-world",
"manager": "https://discuss.pylabrobot.org/u/rickwierenga",
"oem": "https://www.hettichlab.com/products/centrifuges/automated-centrifuges/rotanta-460-robotic/"
"notes": "Only MIKRO 220 Robotic has been hardware-validated with this driver. ROTANTA 460 Robotic, ROTINA 380 Robotic, and ROTINA 380 R Robotic have model-specific protocol configurations but have not been verified on hardware."
},
{
"id": "hettich-sbs-300r",
Expand Down
25 changes: 25 additions & 0 deletions docs/api/pylabrobot.hettich.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
.. currentmodule:: pylabrobot.hettich

pylabrobot.hettich package
==========================

.. currentmodule:: pylabrobot.hettich.centrifuge

.. autosummary::
:toctree: _autosummary
:nosignatures:
:recursive:

HettichMikro220RoboticCentrifuge
HettichRotanta460RoboticCentrifuge
HettichRotina380RoboticCentrifuge
HettichRotina380RRoboticCentrifuge
HettichRoboticCentrifuge
HettichCooledRoboticCentrifuge
HettichCentrifugeError
HettichCommunicationError
HettichCommandError
CentrifugeStatus
HatchStatus
HettichMachineState
RotorSpecification
1 change: 1 addition & 0 deletions docs/api/pylabrobot.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Manufacturers
pylabrobot.cole_parmer
pylabrobot.curiox
pylabrobot.hamilton
pylabrobot.hettich
pylabrobot.high_res
pylabrobot.inheco
pylabrobot.kbioscience
Expand Down
6 changes: 5 additions & 1 deletion docs/contributor_guide/event-schemas.md
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ one is assigned at operation start.

| Operation | Fields | Notes |
| --- | --- | --- |
| `centrifuge.spin` | `device`, `resources`, `bucket_resources`, `relative_centrifugal_force`, `duration`, `acceleration_fraction`, `deceleration_fraction` | Describes one requested spin cycle. |
| `centrifuge.spin` | `device`, `resources`, `bucket_resources`, `relative_centrifugal_force`, `duration`; optional `acceleration_fraction`, `deceleration_fraction` | Describes one requested spin cycle. |

`resources` contains directly loaded resources only. Empty buckets are not represented.
`bucket_resources` preserves the association between each loaded resource and its holder:
Expand All @@ -342,6 +342,10 @@ one is assigned at operation start.
}
```

A frontend without a PLR rotor-resource model emits empty `resources` and `bucket_resources`.
Hettich and VSpin report the requested `relative_centrifugal_force`. VSpin also reports
`acceleration_fraction` and `deceleration_fraction`.

`relative_centrifugal_force` is the dimensionless multiple of standard gravity conventionally
written as x g. Acceleration and deceleration are fractions of the device maximum.

Expand Down
15 changes: 15 additions & 0 deletions docs/user_guide/hettich/events.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Hettich robotic centrifuge events

Each semantic operation emits `started`, `completed`, or `failed` lifecycle records. Hettich uses
the same canonical centrifuge operation name and common payload fields as other PyLabRobot
centrifuge frontends, including VSpin.

| Operation | Primary fields |
| --- | --- |
| `centrifuge.spin` | `device`, empty `resources`, empty `bucket_resources`, `relative_centrifugal_force`, `duration` |

The driver reports the requested `g` as `relative_centrifugal_force`, in multiples of standard
gravity (× g), including when the value was calculated with `rpm_to_g()`. Conversion to the
device's integer RPM happens internally; the event preserves the requested force without
rounding it to the achievable RPM. The Hettich frontend does not currently model rotor positions
as PLR resource holders, so both resource lists are empty.
9 changes: 9 additions & 0 deletions docs/user_guide/hettich/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Hettich

```{toctree}
:maxdepth: 1

mikro-220/hello-world
events
state
```
Loading
Loading