pylabrobot.cole_parmer.genogrinder.GenoGrinder#

class pylabrobot.cole_parmer.genogrinder.GenoGrinder(port: str, use_clamp_commands: bool = True, timeout: float = 50.0, command_settle: float = 0.5, status_poll_interval: float = 1.0, mix_timeout_margin: float = 60.0)#

Bases: object

Cole-Parmer SPEX GenoGrinder plate shaker / homogenizer.

A microplate clamp shaker: it locks a plate (or plate stack) into a clamp and mixes it for a fixed duration at a fixed speed.

Product page:

https://www.coleparmer.com/i/cole-parmer-sampleprep-hg-600-230-geno-grinder-2010-tissue-homogenizer-and-cell-lyser-230-vac-50-hz/0457684

Serial settings:

9600 baud, 8 data bits, no parity, 1 stop bit, “r” terminator.

Commands are *NN* frames; each is acknowledged with a reply whose text identifies the reached state:

*01*              status poll (Standby / Running Sample / Locking / Mixing /
                  Unlocking / Run Complete)
*02,<sss>,<ssss>* set run parameters (duration seconds, speed rpm)
*03*              initialize
*04*              start the run
*05*              clear error
*06*              stop the run
*10*              home the clamp
*11* / *12*       open / close the clamp
*15*              clamp status

A command that does not reach its expected state clears the error (05) and raises GenoGrinderError.

Not verified: this driver has NOT been tested against hardware in PyLabRobot. A warning is emitted at setup.

Methods

__init__(port[, use_clamp_commands, ...])

close_clamp()

Close the clamp.

home_clamp()

Home the clamp.

open_clamp()

Open the clamp.

request_clamp_state()

Query the clamp position.

request_status()

Return the raw status reply (01).

setup()

shake([duration, speed])

Run a mix and block until it completes.

stop()

Stop any run in progress and close the serial connection.

stop_shaking()

Stop a run in progress.

Parameters: