AFL.automation.loading.VirtualPneumaticPressureLoader#

Virtual version of PneumaticPressureSampleCell.

This module defines no-op hardware classes and a VirtualPneumaticPressureLoader class that mimics the behaviour of PneumaticPressureSampleCell without touching any real devices. The interface is identical but actions merely update internal state and print messages. It is useful for testing launch scripts or running the loader logic on systems without the required hardware.

Classes

MultiChannelRelay()

NoOpDigitalIn([channels, pull_dir])

Digital input class that simply stores pin state.

NoOpPressureController()

Pressure controller that only records pressure state.

NoOpRelayBoard([labels])

Relay board that only tracks channel state.

PneumaticPressureSampleCell(pctrl, relayboard)

Class for a sample cell consisting of a push-through, pneumatically-closed sample loader.

PressureController()

Abstract superclass for pressure controllers that provides timed dispensing

VirtualPneumaticPressureLoader([pctrl, ...])

Virtual loader using no-op hardware classes.

class AFL.automation.loading.VirtualPneumaticPressureLoader.NoOpPressureController[source]#

Pressure controller that only records pressure state.

__init__()[source]#
set_P(pressure)[source]#
class AFL.automation.loading.VirtualPneumaticPressureLoader.NoOpRelayBoard(labels=None)[source]#

Relay board that only tracks channel state.

__init__(labels=None)[source]#
setChannels(channels)[source]#
getChannels(asid=False)[source]#
toggleChannels(channels)[source]#
class AFL.automation.loading.VirtualPneumaticPressureLoader.NoOpDigitalIn(channels=None, pull_dir='UP')[source]#

Digital input class that simply stores pin state.

__init__(channels=None, pull_dir='UP')[source]#
class AFL.automation.loading.VirtualPneumaticPressureLoader.VirtualPneumaticPressureLoader(pctrl=None, relayboard=None, digitalin=None, **kwargs)[source]#

Virtual loader using no-op hardware classes.

__init__(pctrl=None, relayboard=None, digitalin=None, **kwargs)[source]#
pctrl: a pressurecontroller object supporting the set_P method() and the optional p_ramp() method.

e.g. pctrl = DigitalOutPressureController(LabJackDigitalOut(…))

relayboard: a relay board object supporting string-based setChannels() method

required channels are ‘arm-up’,’arm-down’, ‘rinse1’,’rinse2’,’blow’,’enable’,’piston-vent’,’postsample’ e.g. selector = SainSmartRelay(port,portlabels={‘catch’:1,’cell’:2,’rinse’:3,’waste’:4,’air’:5})