AFL.automation.loading.NE1kSyringePump#

Classes

NE1kSyringePump(port, syringe_id_mm, ...[, ...])

SerialDevice(port[, baudrate, timeout, ...])

SyringePump()

class AFL.automation.loading.NE1kSyringePump.NE1kSyringePump(port, syringe_id_mm, syringe_volume, baud=9600, daisy_chain=None, pumpid=None, flow_delay=5)[source]#
__init__(port, syringe_id_mm, syringe_volume, baud=9600, daisy_chain=None, pumpid=None, flow_delay=5)[source]#

Initializes and verifies connection to a New Era 1000 syringe pump.

port = serial port reference

syringe_id_mm = syringe inner diameter in mm, used for absolute volume.

(will re-program the pump with this diameter on connection)

syringe_volume = syringe volume in mL

baud = baudrate for connection

daisy_chain = used for the ‘party-line’ mode on these pumps where a string of pumps is on one serial port.
when setting up daisy chaining:

connect to the first pump on a port with daisy_chain = False on subsequent pumps, set daisy_chain to the pump with a hardware connection (the first pump)

or any other pump on the string.

note: when daisy chaining you should probably set pumpid explicitly rather than autodiscovering

as most likely the autodiscovery will return the first pump id each time.

pumpid = the ID configured in the pump firmware. If not set, will attempt to auto-discover a pump.

setting pumpid will save some time on connection and probably result in more reproducible behavior. Practically mandatory for daisy chain mode.

stop()[source]#

Abort the current dispense/withdraw action. Equivalent to pressing stop button on panel.

withdraw(volume, block=True, delay=True)[source]#
dispense(volume, block=True, delay=True)[source]#
setRate(rate)[source]#
getRate()[source]#
emptySyringe()[source]#
blockUntilStatusStopped(pollingdelay=0.2)[source]#
getStatus()[source]#

query the pump status and return a tuple of the status character, infused volume, and withdrawn volume)