File MIES_ThreadedFIFOHandling.ipf

TFH Functions related to threadsafe FIFO monitor and stop daemons

Unnamed Group

static const double TFH_RESTART_ACQ = 0x1

Mode constants.

DAQ restarting for TP MP

static const double TFH_STOP_ACQ = 0x2

DAQ stopping.

Functions

variable TFH_StartFIFOResetDeamon(variable hwType, variable deviceID)

Start the FIFO reset daemon used for TP MD.

variable TFH_StartFIFOStopDaemon(variable hwType, variable deviceID)

Start the FIFO stop daemon used for DAQ MD.

static variable TFH_StartFIFODeamonInternal(variable hwType, variable deviceID, variable mode)

Start the FIFO reset daemon used for TP MD.

We create one thread group for each device.

variable TFH_StopFIFODaemon(variable hwType, variable deviceID)

Stop the FIFO daemon if required.

Sets the global threadGroupIDFifo to NaN afterwards.

static variable TFH_FifoLoop(wave config, variable deviceID, variable stopCollectionPoint, variable ADChannelToMonitor, variable mode)

Worker function used for monitoring the FIFO position of the given device.

Actions depend on mode:

Stops in the following cases:

  • An error during ITC operation calls

  • The input queue is not empty

Pushes the following entries into the thread queue:

  • fifoPos: fifo position (relative to offset)

Variables

static const double TIMEOUT_IN_MS = 50