Skip to content

Add Hettich robotic centrifuge driver - #1217

Open
rickwierenga wants to merge 5 commits into
mainfrom
feat/hettich-robotic-centrifuge
Open

Add Hettich robotic centrifuge driver#1217
rickwierenga wants to merge 5 commits into
mainfrom
feat/hettich-robotic-centrifuge

Conversation

@rickwierenga

Copy link
Copy Markdown
Member

Summary

  • add a Generation 2 Hettich serial driver with an abstract protocol base and concrete MIKRO 220, ROTANTA 460, and ROTINA 380 model classes
  • provide state-based hatch control, rotor positioning, stored-program recall, emergency stop, exact target-speed spin duration, and programmatic RPM/RCF conversion for MIKRO rotors 2334 and 2394
  • validate exact device identity codes and expose chamber temperature only on refrigerated models
  • add mocked protocol coverage, API documentation, a complete MIKRO 220 hello-world notebook, and the full device-registry entry

Validation

  • python -m pytest pylabrobot/hettich/centrifuge_tests.py -q — 36 passed
  • python -m mypy pylabrobot/hettich/ — passed
  • python -m ruff check pylabrobot/hettich — passed
  • python -m pytest docs/_exts/plr_devices/registry_tests.py -q — 26 passed, 404 subtests passed
  • notebook JSON, cell IDs, cleared outputs, and Python syntax validated
  • make docs-fast — passed with warnings treated as errors

Hardware

Setup, identity, status, hatch control, slow rotor positioning, and centrifugation were exercised on a MIKRO 220 POS running firmware 01.21. The final target-speed duration accounting and duration-limit preflight are additionally covered by mocked protocol tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant