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/_static/devices.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
"api": "pylabrobot.agilent.vspin.Access2",
"api_version": "v1",
"code_slug": "agilent/vspin",
"doc_slug": "agilent/vspin/hello-world",
"manager": "https://discuss.pylabrobot.org/u/rickwierenga",
"oem": "https://www.agilent.com/en/product/automated-liquid-handling/automated-microplate-management/microplate-centrifuge"
},
Expand Down
2 changes: 2 additions & 0 deletions docs/api/pylabrobot.agilent.rst
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ VSpin
VSpin
Access2
Access2Driver
ServoStatus
Access2Status


PlateLoc
Expand Down
18 changes: 17 additions & 1 deletion docs/user_guide/agilent/vspin/hello-world.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"```{warning}\n",
"Follow the centrifuge manufacturer's installation, plate-compatibility, balancing, and safety\n",
"instructions. Before every run, use two opposing loads of equal mass and make sure both are fully\n",
"seated. The driver does not provide a public software abort command, so keep the instrument's\n",
"seated. `stop_spin()` provides a controlled software abort, but always keep the instrument's\n",
"physical controls accessible.\n",
"```"
]
Expand Down Expand Up @@ -275,6 +275,22 @@
")"
]
},
{
"cell_type": "markdown",
"id": "vspin-abort-md",
"metadata": {},
"source": [
"## Abort an active spin safely\n",
"\n",
"If another task needs to abort a running `spin()` call, use `stop_spin()`. It sends a controlled\n",
"zero-velocity trajectory and returns only after the tachometer confirms that the rotor stopped.\n",
"The physical emergency stop remains the authority for an emergency.\n",
"\n",
"```python\n",
"await vspin.stop_spin(deceleration=0.8)\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "vspin-return-bucket1-md",
Expand Down
3 changes: 3 additions & 0 deletions pylabrobot/agilent/vspin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# VSpin

Special thanks to Reed Kelso for generously sharing his code on Agilent VSpin and Access2 in the [`vspin-cockpit`](https://github.com/kelsorj/vspin-cockpit) repository.
2 changes: 2 additions & 0 deletions pylabrobot/agilent/vspin/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
from pylabrobot.agilent.vspin._access2_protocol import Access2Status
from pylabrobot.agilent.vspin._nmc import ServoStatus
from pylabrobot.agilent.vspin.access2 import Access2, Access2Driver
from pylabrobot.agilent.vspin.vspin import VSpin
Loading
Loading