Skip to content

feat(cole_parmer): add GenoGrinder plate shaker driver - #1192

Merged
rickwierenga merged 2 commits into
mainfrom
feat/cole-parmer-genogrinder
Aug 4, 2026
Merged

feat(cole_parmer): add GenoGrinder plate shaker driver#1192
rickwierenga merged 2 commits into
mainfrom
feat/cole-parmer-genogrinder

Conversation

@rickwierenga

Copy link
Copy Markdown
Member

Adds a driver for the Cole-Parmer GenoGrinder (fka SPEX GenoGrinder), a plate shaker / homogenizer that clamps a microplate or plate stack and mixes it for a fixed duration at a fixed speed.

Product page

Single plain class over pylabrobot.io.serial.Serial — 9600 8N1, *NN* command frames, CR-terminated, each acknowledged by a reply naming the state reached. A command that misses its expected state clears the instrument's error latch and raises GenoGrinderError.

setup() opens the port and runs the power-on routine, which homes the mechanism and readies the clamp; its reply doubles as a communication check.

Public API: home_clamp, request_clamp_state, open_clamp, close_clamp, request_status, shake, stop_shaking. shake() blocks until the device reports the run complete. The clamp methods read position first and move only if needed, so nothing on the public surface is a blind toggle. Models with a fixed, hand-tightened clamp pass use_clamp_commands=False and the clamp methods become no-ops.

Not hardware-testedsetup() logs a warning saying so.

Also adds docs/api/pylabrobot.cole_parmer.rst (the package had no API page; it covers Masterflex too) and docs/user_guide/cole_parmer/genogrinder/hello-world.ipynb.

🤖 Generated with Claude Code

rickwierenga and others added 2 commits August 4, 2026 13:19
The GenoGrinder clamps a microplate between two platens and shakes it
vertically for a fixed duration at a fixed speed. Adds the serial driver,
tests, an API page for the cole_parmer package, and a hello-world guide.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Pad the API page title underline, make the command table a literal block,
and keep the product URL on one line so it stays a valid link.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@rickwierenga
rickwierenga merged commit 160bfe5 into main Aug 4, 2026
21 checks passed
@rickwierenga
rickwierenga deleted the feat/cole-parmer-genogrinder branch August 4, 2026 21:23
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