AFL.automation.loading.CetoniSyringePump#

Classes

CetoniSyringePump(deviceconfig[, configdir, ...])

Cetoni syringe pump driver.

SyringePump()

class AFL.automation.loading.CetoniSyringePump.CetoniSyringePump(deviceconfig, configdir='/home/pi/QmixSDK_Raspi/config/', lookupByName=False, pumpName=None, existingBus=None, syringeName=None, flow_delay=5)[source]#

Cetoni syringe pump driver.

Some notes on how to get this talking:

  1. You need the IXXAT usb-can kernel module built and installed (gooooood luuuck, but it works on armv7l)

  2. Set up the canbus interface:

    sudo ip link set can0 up type can bitrate 1000000 sudo ip link set txqueuelen 10 dev can0

  3. Put the cetoni qmixsdk c/cython modules on your PYTHONPATH, such that you can import them, see below.

__init__(deviceconfig, configdir='/home/pi/QmixSDK_Raspi/config/', lookupByName=False, pumpName=None, existingBus=None, syringeName=None, flow_delay=5)[source]#

Initializes and verifies connection to a Cetoni syringe pump.

This is quite a bit more complicated/annoying than on a NE1k.

You have to get the canBUS object, search the bus for pumps, start the bus, then enable the pump drive

static wait_calibration_finished(pump, timeout_seconds)[source]#

The function waits until the given pump has finished calibration or until the timeout occurs.

static wait_dosage_finished(pump, timeout_seconds)[source]#

The function waits until the last dosage command has finished until the timeout occurs.

stop()[source]#

Abort the current dispense/withdraw action.

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

This is a deprecated function from old serial logic. It should work, but do not use.

getStatus()[source]#

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

This is a deprecated method from old serial logic. It should work, but do not use.