AFL.automation.loading.RSoXSSolutionSampleCell#

Classes

Driver(name[, defaults, overrides, useful_links])

RSoXSSolutionSampleCell(pump, selector[, ...])

Class for a sample cell consisting of a pump and a one-to-many flow selector for a flowrate-limited measurement cell (e.g., a liquid TEM sample holder for RSoXS).

SampleCell()

Tubing(specid, length)

defaultdict

defaultdict(default_factory=None, /, [...]) --> dict with default factory

class AFL.automation.loading.RSoXSSolutionSampleCell.RSoXSSolutionSampleCell(pump, selector, rinse_tank_level=950, waste_tank_level=0, cell_waste_tank_level=0, overrides=None)[source]#

Class for a sample cell consisting of a pump and a one-to-many flow selector for a flowrate-limited measurement cell (e.g., a liquid TEM sample holder for RSoXS).

The pump draws from any of the sample ports and can quickly purge/rinse itself and the tubing between the loader and the cell. When the pump is connected to the cell, its max rate is limited to very slow (5 ul/min for RSoXS).

defaults = {'blow_out_vol': 6, 'calibrated_catch_to_syringe_vol': 1.1, 'calibrated_syringe_to_cell_vol': 3.2, 'catch_empty_ffvol': 2, 'catch_to_selector_vol': 0.8796459430051422, 'cell_to_selector_vol': 1.9351768777756622, 'dry_vol_ml': 5, 'load_flow_delay': 10.0, 'load_speed': 10.0, 'ncells': 1, 'nrinses_catch': 2, 'nrinses_cell': 1, 'nrinses_cell_flood': 2, 'nrinses_syringe': 2, 'rinse_flow_delay': 3.0, 'rinse_prime_vol': 3, 'rinse_speed': 50.0, 'rinse_vol_catch_ml': 2, 'rinse_vol_ml': 3, 'selector_internal_vol': 0.0005067074790974977, 'syringe_to_selector_vol': 1.1625376729937205, 'thickness': None, 'to_waste_vol': 1}#
__init__(pump, selector, rinse_tank_level=950, waste_tank_level=0, cell_waste_tank_level=0, overrides=None)[source]#

ncells = number of connected cells (up to 6 cells with a 10-position flow selector, with four positions taken by load port, rinse, waste, and air) Name = the cell name, array with length = ncells

thickness = cell path length, to be incorporated into metadata, array with length = ncells

cell state if not ‘clean’, array with length = ncells

pump: a pump object supporting withdraw() and dispense() methods

e.g. pump = NE1KSyringePump(port,syringe_id_mm,syringe_volume)

selector: a selector object supporting string-based selectPort() method with options ‘catch’,’cell’,’rinse’,’waste’,’air’

e.g. selector = ViciMultiposSelector(port,portlabels={‘catch’:1,’cell’:2,’rinse’:3,’waste’:4,’air’:5})

reset_tank_levels(rinse=950, waste=0, cell_waste=0)[source]#
property app#
status()[source]#
transfer(source, dest, vol_source, vol_dest=None)[source]#
catchToSyringe(sampleVolume=0)[source]#
loadSample(cellname='cell', sampleVolume=0)[source]#
catchToWaste(sampleVolume=0.0)[source]#
cellToWaste(cellname='cell')[source]#
rinseSyringe()[source]#
drySyringe(blow=True, waittime=1)[source]#

transfer from air to waste, to push out any residual liquid.

if blow is True, additionally use a 1 s pulse of nitrogen to clear the syringe transfer line.

rinseCell(cellname='cell')[source]#
rinseCellPull(cellname='cell')[source]#
rinseCellFlood(cellname='cell')[source]#
swish(vol)[source]#
blowOutCellLegacy(cellname='cell')[source]#
blowOutCell(cellname='cell', waittime=20)[source]#
rinseCatch()[source]#
rinseAll(cellname='cell')[source]#
setRinseLevel(vol)[source]#
setWasteLevel(vol)[source]#