science_jubilee.tools.PeristalticPumps#

Module Contents#

Classes#

PeristalticPumps

class representation of peristaltic pumps. Due to duet-level axis definition requirements, currently requires an accompanying PumpDispenser tool to control pumps.

class science_jubilee.tools.PeristalticPumps.PeristalticPumps(n_pumps: int, steps_per_ml: float | int | list, tool_axis: str = 'E', name: str = 'dispenser_pumps')#

Bases: science_jubilee.tools.Tool.Tool

class representation of peristaltic pumps. Due to duet-level axis definition requirements, currently requires an accompanying PumpDispenser tool to control pumps.

Parameters:
  • n_pumps (int) – Number of peristaltic pumps

  • steps_per_mL (float, int, list) – stepper motor steps to turn pump to pump 1mL of liquid. calibrate gravimetrically. Can pass a float or int to apply same value to each pump or list to apply unique value to each pump.

  • tool_axis (str) – Motion axis tool is defined to on duet. Default E

  • name (str) – name of tool

classmethod from_config(config_file: str, path: str = os.path.join(os.path.dirname(__file__), 'configs'))#

Initialize a PeristalticPumps object from a config file

Parameters:

config_file (str) – The name of the config file containign the pump parameters

Returns:

A PeristalticPumps object

Return type:

PeristalticPumps

post_load()#

After tool load, set steps per mm on machine

pump(volume: int | float | list)#

transfer volume using pump

Parameters:

volume (int, float, list) – volume to pump. Specify a number (int/float) to pump same amount from all pumps simultaneously, or a list of numbers to pump unique amount from each pump.