fluid_control
Aspirator
Bases: AspirateMixin, PressureOverLiquidControl
Aspirator class for modular aspirating applications.
Driver for a Festo aspirator, e.g. VTOI, VTOE, VTOF. Currently, there are hard-coded dependencies on the festo-pgva and festo-vaem drivers for their respective hardware modules.
The aspirate operation is provided by AspirateMixin.
Construction is handled entirely by
PressureOverLiquidControl; component_id
defaults to "aspirator_1" (derived from component_type).
Examples:
Aspirate 40 uL of water on channel 1:
Source code in src/fluid_control/aspirator.py
Dispenser
Bases: DispenseMixin, PressureOverLiquidControl
Dispenser class for modular dispensing applications.
Driver for a Festo dispenser, e.g. VTOI, VTOE, VTOF. Currently, there are hard-coded dependencies on the festo-pgva and festo-vaem drivers for their respective hardware modules.
The dispense operation is provided by DispenseMixin.
Construction is handled entirely by
PressureOverLiquidControl; component_id
defaults to "dispenser_1" (derived from component_type).
Examples:
Load an instrument configuration and dispense 25 uL of water on channel 1:
Use as a context manager to guarantee the instrument is returned to a safe state on exit, even if an exception is raised:
Source code in src/fluid_control/dispenser.py
Pipettor
Bases: AspirateMixin, DispenseMixin, MixMixin, TipHandlingMixin, PressureOverLiquidControl
Festo multi-channel pressure-over-liquid pipettor.
Composes the full set of fluid-handling capabilities onto the
PressureOverLiquidControl engine:
aspiratefromAspirateMixindispensefromDispenseMixinmixfromMixMixinpickup_tips/eject_tipsfromTipHandlingMixin
Construction is handled entirely by
PressureOverLiquidControl; component_id
defaults to "pipettor_1" (derived from component_type).
Examples:
Aspirate, mix, then dispense on a mounted pipettor:
Source code in src/fluid_control/pipettor.py
PressureControl
Thin adapter exposing a uniform pressure-control interface over a backend controller.
Source code in src/fluid_control/pressure_control.py
__init__(controller)
Store the backing controller.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
controller
|
Backend pressure-control device exposing |
required |
get_output_pressure()
Return the current output pressure from the backing controller.
Returns:
| Type | Description |
|---|---|
|
The controller's current output pressure reading. |
get_status()
Return the controller status.
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
Status reporting is not yet implemented for this generic adapter. |
Source code in src/fluid_control/pressure_control.py
set_output_pressure(pressure)
Set the output pressure on the backing controller.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pressure
|
int
|
Target output pressure in mbar. |
required |
load_example_config()
1 2 3 4 5 | |
Returns:
| Name | Type | Description |
|---|---|---|
dict |
dict[str, Any]
|
The parsed example instrument configuration. |
Examples: