dxpSITORO  1-0
Public Member Functions | Protected Attributes | List of all members
NDDxp Class Reference

#include <NDDxp.h>

Inheritance diagram for NDDxp:
asynNDArrayDriver asynPortDriver

Public Member Functions

 NDDxp (const char *portName, int nCChannels, int maxBuffers, size_t maxMemory)
 
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Called when asyn clients call pasynInt32->write(). More...
 
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 Called when asyn clients call pasynFloat64->write(). More...
 
virtual asynStatus readInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt32Array->read(). More...
 
void report (FILE *fp, int details)
 Report status of the driver. More...
 
asynStatus xia_checkError (asynUser *pasynUser, epicsInt32 xiastatus, const char *xiacmd)
 
void shutdown ()
 
void acquisitionTask ()
 Thread used to poll the hardware for status and data. More...
 
asynStatus pollMappingMode ()
 Check if the current mapping buffer is full in which case it reads out the data. More...
 
int getChannel (asynUser *pasynUser, int *addr)
 
void getModuleInfo ()
 
asynStatus setPresets (asynUser *pasynUser, int addr)
 
asynStatus setDxpParam (asynUser *pasynUser, int addr, int function, double value)
 
asynStatus getDxpParams (asynUser *pasynUser, int addr)
 
asynStatus setSCAs (asynUser *pasynUser, int addr)
 
asynStatus getSCAs (asynUser *pasynUser, int addr)
 
asynStatus getAcquisitionStatus (asynUser *pasynUser, int addr)
 
asynStatus getModuleStatistics (asynUser *pasynUser, int addr, moduleStatistics *stats)
 
asynStatus getAcquisitionStatistics (asynUser *pasynUser, int addr)
 
asynStatus getMcaData (asynUser *pasynUser, int addr)
 
asynStatus getMappingData ()
 Reads the mapping data for all of the modules in the system. More...
 
asynStatus getTrace (asynUser *pasynUser, int addr, epicsInt32 *data, size_t maxLen, size_t *actualLen)
 
asynStatus configureCollectMode ()
 
asynStatus setNumChannels (asynUser *pasynUser, epicsInt32 newsize, epicsInt32 *rbValue)
 
asynStatus startAcquiring (asynUser *pasynUser)
 
asynStatus stopAcquiring (asynUser *pasynUser)
 
- Public Member Functions inherited from asynNDArrayDriver
 asynNDArrayDriver (const char *portName, int maxAddr, int maxBuffers, size_t maxMemory, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 This is the constructor for the asynNDArrayDriver class. More...
 
virtual ~asynNDArrayDriver ()
 
virtual asynStatus writeOctet (asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
 Called when asyn clients call pasynOctet->write(). More...
 
virtual asynStatus readGenericPointer (asynUser *pasynUser, void *genericPointer)
 This method copies an NDArray object from the asynNDArrayDriver to an NDArray pointer passed in by the caller. More...
 
virtual asynStatus writeGenericPointer (asynUser *pasynUser, void *genericPointer)
 This method currently does nothing, but it should be implemented in this base class. More...
 
virtual asynStatus readInt32 (asynUser *pasynUser, epicsInt32 *value)
 Called when asyn clients call pasynInt32->read(). More...
 
virtual asynStatus readFloat64 (asynUser *pasynUser, epicsFloat64 *value)
 Called when asyn clients call pasynFloat64->read(). More...
 
virtual asynStatus createFilePath (const char *path, int pathDepth)
 Function to create a directory path for a file. More...
 
virtual asynStatus checkPath ()
 Checks whether the directory specified NDFilePath parameter exists. More...
 
virtual asynStatus createFileName (int maxChars, char *fullFileName)
 Build a file name from component parts. More...
 
virtual asynStatus createFileName (int maxChars, char *filePath, char *fileName)
 Build a file name from component parts. More...
 
virtual asynStatus readNDAttributesFile ()
 Create this driver's NDAttributeList (pAttributeList) by reading an XML file This clears any existing attributes from this drivers' NDAttributeList and then creates a new list based on the XML file. More...
 
virtual asynStatus getAttributes (NDAttributeList *pAttributeList)
 Get the current values of attributes from this driver and appends them to an output attribute list. More...
 
- Public Member Functions inherited from asynPortDriver
 asynPortDriver (const char *portName, int maxAddr, int paramTableSize, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 Constructor for the asynPortDriver class. More...
 
virtual ~asynPortDriver ()
 Destructor for asynPortDriver class; frees resources allocated when port driver is created. More...
 
virtual asynStatus lock ()
 Locks the driver to prevent multiple threads from accessing memory at the same time. More...
 
virtual asynStatus unlock ()
 Unlocks the driver; called when an asyn client or driver is done accessing common memory. More...
 
virtual asynStatus getAddress (asynUser *pasynUser, int *address)
 Returns the asyn address associated with a pasynUser structure. More...
 
virtual asynStatus readUInt32Digital (asynUser *pasynUser, epicsUInt32 *value, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->read(). More...
 
virtual asynStatus writeUInt32Digital (asynUser *pasynUser, epicsUInt32 value, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->write(). More...
 
virtual asynStatus setInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 mask, interruptReason reason)
 Called when asyn clients call pasynUInt32Digital->setInterrupt(). More...
 
virtual asynStatus clearInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->clearInterrupt(). More...
 
virtual asynStatus getInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 *mask, interruptReason reason)
 Called when asyn clients call pasynUInt32Digital->getInterrupt(). More...
 
virtual asynStatus getBounds (asynUser *pasynUser, epicsInt32 *low, epicsInt32 *high)
 Called when asyn clients call pasynInt32->getBounds(), returning the bounds on the asynInt32 interface for drivers that use raw units. More...
 
virtual asynStatus readOctet (asynUser *pasynUser, char *value, size_t maxChars, size_t *nActual, int *eomReason)
 Called when asyn clients call pasynOctet->read(). More...
 
virtual asynStatus flushOctet (asynUser *pasynUser)
 Called when asyn clients call pasynOctet->flush(). More...
 
virtual asynStatus setInputEosOctet (asynUser *pasynUser, const char *eos, int eosLen)
 Called when asyn clients call pasynOctet->setInputEos(). More...
 
virtual asynStatus getInputEosOctet (asynUser *pasynUser, char *eos, int eosSize, int *eosLen)
 Called when asyn clients call pasynOctet->getInputEos(). More...
 
virtual asynStatus setOutputEosOctet (asynUser *pasynUser, const char *eos, int eosLen)
 Called when asyn clients call pasynOctet->setOutputEos(). More...
 
virtual asynStatus getOutputEosOctet (asynUser *pasynUser, char *eos, int eosSize, int *eosLen)
 Called when asyn clients call pasynOctet->getOutputEos(). More...
 
virtual asynStatus readInt8Array (asynUser *pasynUser, epicsInt8 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt8Array->read(). More...
 
virtual asynStatus writeInt8Array (asynUser *pasynUser, epicsInt8 *value, size_t nElements)
 Called when asyn clients call pasynInt8Array->write(). More...
 
virtual asynStatus doCallbacksInt8Array (epicsInt8 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt8Array interface. More...
 
virtual asynStatus readInt16Array (asynUser *pasynUser, epicsInt16 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt16Array->read(). More...
 
virtual asynStatus writeInt16Array (asynUser *pasynUser, epicsInt16 *value, size_t nElements)
 Called when asyn clients call pasynInt16Array->write(). More...
 
virtual asynStatus doCallbacksInt16Array (epicsInt16 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt16Array interface. More...
 
virtual asynStatus writeInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements)
 Called when asyn clients call pasynInt32Array->write(). More...
 
virtual asynStatus doCallbacksInt32Array (epicsInt32 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt32Array interface. More...
 
virtual asynStatus readFloat32Array (asynUser *pasynUser, epicsFloat32 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynFloat32Array->read(). More...
 
virtual asynStatus writeFloat32Array (asynUser *pasynUser, epicsFloat32 *value, size_t nElements)
 Called when asyn clients call pasynFloat32Array->write(). More...
 
virtual asynStatus doCallbacksFloat32Array (epicsFloat32 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynFloat32Array interface. More...
 
virtual asynStatus readFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynFloat64Array->read(). More...
 
virtual asynStatus writeFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements)
 Called when asyn clients call pasynFloat64Array->write(). More...
 
virtual asynStatus doCallbacksFloat64Array (epicsFloat64 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynFloat64Array interface. More...
 
virtual asynStatus doCallbacksGenericPointer (void *pointer, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynGenericPointer interface. More...
 
virtual asynStatus readOption (asynUser *pasynUser, const char *key, char *value, int maxChars)
 Called when asyn clients call pasynOption->read(). More...
 
virtual asynStatus writeOption (asynUser *pasynUser, const char *key, const char *value)
 Called when asyn clients call pasynOption->write(). More...
 
virtual asynStatus readEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
 Called when asyn clients call pasynEnum->read(). More...
 
virtual asynStatus writeEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements)
 Called when asyn clients call pasynEnum->write(). More...
 
virtual asynStatus doCallbacksEnum (char *strings[], int values[], int severities[], size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynEnum interface. More...
 
virtual asynStatus drvUserCreate (asynUser *pasynUser, const char *drvInfo, const char **pptypeName, size_t *psize)
 Called by asynManager to pass a pasynUser structure and drvInfo string to the driver; Assigns pasynUser->reason based on the value of the drvInfo string. More...
 
virtual asynStatus drvUserGetType (asynUser *pasynUser, const char **pptypeName, size_t *psize)
 Returns strings associated with driver-specific commands. More...
 
virtual asynStatus drvUserDestroy (asynUser *pasynUser)
 Frees any resources allocated by drvUserCreate. More...
 
virtual asynStatus connect (asynUser *pasynUser)
 Connects driver to device; The base class implementation simply calls pasynManager->exceptionConnect if address is valid Derived classes can reimplement this function for real connection management. More...
 
virtual asynStatus disconnect (asynUser *pasynUser)
 Disconnects driver from device; the base class implementation simply calls pasynManager->exceptionDisconnect. More...
 
virtual asynStatus createParam (const char *name, asynParamType type, int *index)
 Creates a parameter in the parameter library. More...
 
virtual asynStatus createParam (int list, const char *name, asynParamType type, int *index)
 Creates a parameter in the parameter library. More...
 
virtual asynStatus findParam (const char *name, int *index)
 Finds a parameter in the parameter library. More...
 
virtual asynStatus findParam (int list, const char *name, int *index)
 Finds a parameter in the parameter library. More...
 
virtual asynStatus getParamName (int index, const char **name)
 Returns the name of a parameter in the parameter library. More...
 
virtual asynStatus getParamName (int list, int index, const char **name)
 Returns the name of a parameter in the parameter library. More...
 
virtual asynStatus setParamStatus (int index, asynStatus status)
 Sets the status for a parameter in the parameter library. More...
 
virtual asynStatus setParamStatus (int list, int index, asynStatus status)
 Sets the status for a parameter in the parameter library. More...
 
virtual asynStatus getParamStatus (int index, asynStatus *status)
 Gets the status for a parameter in the parameter library. More...
 
virtual asynStatus getParamStatus (int list, int index, asynStatus *status)
 Gets the status for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmStatus (int index, int status)
 Sets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmStatus (int list, int index, int status)
 Sets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmStatus (int index, int *status)
 Gets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmStatus (int list, int index, int *status)
 Gets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmSeverity (int index, int severity)
 Sets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmSeverity (int list, int index, int severity)
 Sets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmSeverity (int index, int *severity)
 Gets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmSeverity (int list, int index, int *severity)
 Gets the alarmSeverity for a parameter in the parameter library. More...
 
virtual void reportSetParamErrors (asynStatus status, int index, int list, const char *functionName)
 Reports errors when setting parameters. More...
 
virtual void reportGetParamErrors (asynStatus status, int index, int list, const char *functionName)
 Reports errors when getting parameters. More...
 
virtual asynStatus setIntegerParam (int index, int value)
 Sets the value for an integer in the parameter library. More...
 
virtual asynStatus setIntegerParam (int list, int index, int value)
 Sets the value for an integer in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int index, epicsUInt32 value, epicsUInt32 valueMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int list, int index, epicsUInt32 value, epicsUInt32 valueMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int index, epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int list, int index, epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUInt32DigitalInterrupt (int index, epicsUInt32 mask, interruptReason reason)
 Sets the interrupt mask and reason in the parameter library Calls paramList::setUInt32Interrupt (0, index, mask, reason) i.e. More...
 
virtual asynStatus setUInt32DigitalInterrupt (int list, int index, epicsUInt32 mask, interruptReason reason)
 Sets the interrupt mask and reason in the parameter library Calls paramList::setUInt32Interrupt (index, mask, reason) for the parameter list indexed by list. More...
 
virtual asynStatus clearUInt32DigitalInterrupt (int index, epicsUInt32 mask)
 Clears the interrupt mask in the parameter library Calls paramList::clearUInt32Interrupt (0, index, mask) i.e. More...
 
virtual asynStatus clearUInt32DigitalInterrupt (int list, int index, epicsUInt32 mask)
 Clears the interrupt mask in the parameter library Calls paramList::clearUInt32Interrupt (index, mask) for the parameter list indexed by list. More...
 
virtual asynStatus getUInt32DigitalInterrupt (int index, epicsUInt32 *mask, interruptReason reason)
 Gets the interrupt mask and reason in the parameter library Calls paramList::getUInt32Interrupt (0, index, mask, reason) i.e. More...
 
virtual asynStatus getUInt32DigitalInterrupt (int list, int index, epicsUInt32 *mask, interruptReason reason)
 Gets the interrupt mask and reason in the parameter library Calls paramList::getUInt32Interrupt (index, mask, reason) for the parameter list indexed by list. More...
 
virtual asynStatus setDoubleParam (int index, double value)
 Sets the value for a double in the parameter library. More...
 
virtual asynStatus setDoubleParam (int list, int index, double value)
 Sets the value for a double in the parameter library. More...
 
virtual asynStatus setStringParam (int index, const char *value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int list, int index, const char *value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int index, const std::string &value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int list, int index, const std::string &value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus getIntegerParam (int index, int *value)
 Returns the value for an integer from the parameter library. More...
 
virtual asynStatus getIntegerParam (int list, int index, int *value)
 Returns the value for an integer from the parameter library. More...
 
virtual asynStatus getUIntDigitalParam (int index, epicsUInt32 *value, epicsUInt32 mask)
 Returns the value for an UInt32Digital parameter from the parameter library. More...
 
virtual asynStatus getUIntDigitalParam (int list, int index, epicsUInt32 *value, epicsUInt32 mask)
 Returns the value for an UInt32Digital parameter from the parameter library. More...
 
virtual asynStatus getDoubleParam (int index, double *value)
 Returns the value for a double from the parameter library. More...
 
virtual asynStatus getDoubleParam (int list, int index, double *value)
 Returns the value for a double from the parameter library. More...
 
virtual asynStatus getStringParam (int index, int maxChars, char *value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int list, int index, int maxChars, char *value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int index, std::string &value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int list, int index, std::string &value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus callParamCallbacks ()
 Calls callParamCallbacks(0, 0) i.e. More...
 
virtual asynStatus callParamCallbacks (int addr)
 Calls callParamCallbacks(addr, addr) i.e. More...
 
virtual asynStatus callParamCallbacks (int list, int addr)
 Calls paramList::callCallbacks(addr) for a specific parameter list. More...
 
virtual asynStatus updateTimeStamp ()
 Updates the timestamp for this port in pasynManager. More...
 
virtual asynStatus updateTimeStamp (epicsTimeStamp *pTimeStamp)
 Updates the timestamp for this port in pasynManager, and returns this timestamp. More...
 
virtual asynStatus getTimeStamp (epicsTimeStamp *pTimeStamp)
 Gets the most recent timestamp for this port from pasynManager. More...
 
virtual asynStatus setTimeStamp (const epicsTimeStamp *pTimeStamp)
 Sets the timestamp for this port in pasynManager. More...
 
asynStandardInterfaces * getAsynStdInterfaces ()
 Returns the asynStdInterfaces structure used by asynPortDriver. More...
 
virtual void reportParams (FILE *fp, int details)
 Calls paramList::report(fp, details) for each parameter list that the driver supports. More...
 
void callbackTask ()
 

Protected Attributes

int NDDxpCollectMode
 
int NDDxpNDArrayMode
 
int NDDxpPixelsPerRun
 < NDArray mode (=Raw buffers, 1=MCA spectra) More...
 
int NDDxpPixelsPerBuffer
 < Preset value how many pixels to acquire in one run (r/w) mapping mode More...
 
int NDDxpAutoPixelsPerBuffer
 
int NDDxpPixelAdvanceMode
 
int NDDxpInputLogicPolarity
 < Mapping mode only: pixel advance mode (int) More...
 
int NDDxpIgnoreGate
 
int NDDxpSyncCount
 
int NDDxpListMode
 
int NDDxpCurrentPixel
 < Change list mode variant (0=Gate; 1=Sync; 2=Clock) (int32 read/write) addr: all/any More...
 
int NDDxpNextPixel
 < Mapping mode only: read the current pixel that is being acquired into (int) More...
 
int NDDxpBufferOverrun
 < Mapping mode only: force a pixel increment in the mapping buffer (write only int). More...
 
int NDDxpMBytesRead
 
int NDDxpReadRate
 
int NDDxpErased
 
int NDDxpAcquiring
 < Erased flag. More...
 
int NDDxpBufferCounter
 < Internal acquiring flag, not exposed via drvUser More...
 
int NDDxpPollTime
 < Count how many buffers have been collected (read) mapping mode More...
 
int NDDxpForceRead
 < Status/data polling time in seconds More...
 
int NDDxpTriggerLiveTime
 < Force reading MCA spectra - used for mcaData when addr=ALL More...
 
int NDDxpTriggers
 < live time in seconds (double) More...
 
int NDDxpEvents
 < number of triggers received (double) More...
 
int NDDxpInputCountRate
 < total number of events registered (double) More...
 
int NDDxpOutputCountRate
 < input count rate in Hz (double) More...
 
int NDDxpTraceMode
 < output count rate in Hz (double) More...
 
int NDDxpTraceTime
 < Select what type of trace to do: ADC, baseline hist, . More...
 
int NDDxpTraceData
 < Set the trace sample time in us. More...
 
int NDDxpTraceTimeArray
 < The trace array data (read) More...
 
int NDDxpDetectionThreshold
 < The trace timebase array (read) More...
 
int NDDxpMinPulsePairSeparation
 
int NDDxpDetectionFilter
 
int NDDxpScaleFactor
 
int NDDxpNumMCAChannels
 
int NDDxpMCARefreshPeriod
 
int NDDxpPresetMode
 
int NDDxpPresetReal
 
int NDDxpPresetEvents
 
int NDDxpPresetTriggers
 
int NDDxpDetectorPolarity
 
int NDDxpDecayTime
 
int NDDxpSpectrumXAxis
 
int NDDxpTriggerOutput
 
int NDDxpLiveTimeOutput
 
int NDDxpSCATriggerMode
 
int NDDxpSCAPulseDuration
 
int NDDxpMaxSCAs
 
int NDDxpNumSCAs
 
int NDDxpSCALow [DXP_MAX_SCAS]
 
int NDDxpSCAHigh [DXP_MAX_SCAS]
 
int NDDxpSaveSystemFile
 
int NDDxpSaveSystem
 
int NDDxpSerialNumber
 
int NDDxpFirmwareVersion
 
int mcaData
 
int mcaStartAcquire
 
int mcaStopAcquire
 
int mcaErase
 
int mcaReadStatus
 
int mcaChannelAdvanceSource
 
int mcaNumChannels
 
int mcaAcquireMode
 
int mcaSequence
 
int mcaPrescale
 
int mcaPresetSweeps
 
int mcaPresetLowChannel
 
int mcaPresetHighChannel
 
int mcaDwellTime
 
int mcaPresetLiveTime
 
int mcaPresetRealTime
 
int mcaPresetCounts
 
int mcaAcquiring
 
int mcaElapsedLiveTime
 
int mcaElapsedRealTime
 
int mcaElapsedCounts
 
- Protected Attributes inherited from asynNDArrayDriver
int NDPortNameSelf
 
int NDADCoreVersion
 
int NDDriverVersion
 
int NDArraySizeX
 
int NDArraySizeY
 
int NDArraySizeZ
 
int NDArraySize
 
int NDNDimensions
 
int NDDimensions
 
int NDDataType
 
int NDColorMode
 
int NDUniqueId
 
int NDTimeStamp
 
int NDEpicsTSSec
 
int NDEpicsTSNsec
 
int NDBayerPattern
 
int NDArrayCounter
 
int NDFilePath
 
int NDFilePathExists
 
int NDFileName
 
int NDFileNumber
 
int NDFileTemplate
 
int NDAutoIncrement
 
int NDFullFileName
 
int NDFileFormat
 
int NDAutoSave
 
int NDWriteFile
 
int NDReadFile
 
int NDFileWriteMode
 
int NDFileWriteStatus
 
int NDFileWriteMessage
 
int NDFileNumCapture
 
int NDFileNumCaptured
 
int NDFileCapture
 
int NDFileDeleteDriverFile
 
int NDFileLazyOpen
 
int NDFileCreateDir
 
int NDFileTempSuffix
 
int NDAttributesFile
 
int NDAttributesStatus
 
int NDAttributesMacros
 
int NDArrayData
 
int NDArrayCallbacks
 
int NDPoolMaxBuffers
 
int NDPoolAllocBuffers
 
int NDPoolFreeBuffers
 
int NDPoolMaxMemory
 
int NDPoolUsedMemory
 
NDArray ** pArrays
 An array of NDArray pointers used to store data in the driver. More...
 
NDArrayPool * pNDArrayPool
 An NDArrayPool object used to allocate and manipulate NDArray objects. More...
 
class NDAttributeList * pAttributeList
 An NDAttributeList object used to obtain the current values of a set of attributes. More...
 
int threadStackSize_
 
int threadPriority_
 
- Protected Attributes inherited from asynPortDriver
asynUser * pasynUserSelf
 asynUser connected to ourselves for asynTrace More...
 
asynStandardInterfaces asynStdInterfaces
 The asyn interfaces this driver implements. More...
 

Additional Inherited Members

- Public Attributes inherited from asynPortDriver
char * portName
 The name of this asyn port. More...
 
int maxAddr
 The maximum asyn address (addr) supported by this driver. More...
 

Constructor & Destructor Documentation

NDDxp::NDDxp ( const char *  portName,
int  nCChannels,
int  maxBuffers,
size_t  maxMemory 
)

Member Function Documentation

void NDDxp::acquisitionTask ( )

Thread used to poll the hardware for status and data.

asynStatus NDDxp::configureCollectMode ( )
asynStatus NDDxp::getAcquisitionStatistics ( asynUser *  pasynUser,
int  addr 
)
asynStatus NDDxp::getAcquisitionStatus ( asynUser *  pasynUser,
int  addr 
)
int NDDxp::getChannel ( asynUser *  pasynUser,
int *  addr 
)
asynStatus NDDxp::getDxpParams ( asynUser *  pasynUser,
int  addr 
)
asynStatus NDDxp::getMappingData ( )

Reads the mapping data for all of the modules in the system.

asynStatus NDDxp::getMcaData ( asynUser *  pasynUser,
int  addr 
)
void NDDxp::getModuleInfo ( )
asynStatus NDDxp::getModuleStatistics ( asynUser *  pasynUser,
int  addr,
moduleStatistics stats 
)
asynStatus NDDxp::getSCAs ( asynUser *  pasynUser,
int  addr 
)
asynStatus NDDxp::getTrace ( asynUser *  pasynUser,
int  addr,
epicsInt32 *  data,
size_t  maxLen,
size_t *  actualLen 
)
asynStatus NDDxp::pollMappingMode ( )

Check if the current mapping buffer is full in which case it reads out the data.

asynStatus NDDxp::readInt32Array ( asynUser *  pasynUser,
epicsInt32 *  value,
size_t  nElements,
size_t *  nIn 
)
virtual

Called when asyn clients call pasynInt32Array->read().

The base class implementation simply prints an error message. Derived classes may reimplement this function if required.

Parameters
[in]pasynUserpasynUser structure that encodes the reason and address.
[in]valuePointer to the array to read.
[in]nElementsNumber of elements to read.
[out]nInNumber of elements actually read.

Reimplemented from asynPortDriver.

void NDDxp::report ( FILE *  fp,
int  details 
)
virtual

Report status of the driver.

This method calls the report function in the asynPortDriver base class. It then calls the NDArrayPool::report() method if details >5.

Parameters
[in]fpFile pointed passed by caller where the output is written to.
[in]detailsIf >5 then NDArrayPool::report and NDAttributeList::report are both called.

Reimplemented from asynNDArrayDriver.

asynStatus NDDxp::setDxpParam ( asynUser *  pasynUser,
int  addr,
int  function,
double  value 
)
asynStatus NDDxp::setNumChannels ( asynUser *  pasynUser,
epicsInt32  newsize,
epicsInt32 *  rbValue 
)
asynStatus NDDxp::setPresets ( asynUser *  pasynUser,
int  addr 
)
asynStatus NDDxp::setSCAs ( asynUser *  pasynUser,
int  addr 
)
void NDDxp::shutdown ( )
asynStatus NDDxp::startAcquiring ( asynUser *  pasynUser)
asynStatus NDDxp::stopAcquiring ( asynUser *  pasynUser)
asynStatus NDDxp::writeFloat64 ( asynUser *  pasynUser,
epicsFloat64  value 
)
virtual

Called when asyn clients call pasynFloat64->write().

The base class implementation simply sets the value in the parameter library and calls any registered callbacks for this pasynUser->reason and address. Derived classes will reimplement this function if they need to perform an action when an asynFloat64 value is written.

Parameters
[in]pasynUserpasynUser structure that encodes the reason and address.
[in]valueValue to write.

Reimplemented from asynPortDriver.

asynStatus NDDxp::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
)
virtual

Called when asyn clients call pasynInt32->write().

The base class implementation simply sets the value in the parameter library and calls any registered callbacks for this pasynUser->reason and address. Derived classes will reimplement this function if they need to perform an action when an asynInt32 value is written.

Parameters
[in]pasynUserpasynUser structure that encodes the reason and address.
[in]valueValue to write.

Reimplemented from asynPortDriver.

asynStatus NDDxp::xia_checkError ( asynUser *  pasynUser,
epicsInt32  xiastatus,
const char *  xiacmd 
)

Member Data Documentation

int NDDxp::mcaAcquireMode
protected
int NDDxp::mcaAcquiring
protected
int NDDxp::mcaChannelAdvanceSource
protected
int NDDxp::mcaData
protected
int NDDxp::mcaDwellTime
protected
int NDDxp::mcaElapsedCounts
protected
int NDDxp::mcaElapsedLiveTime
protected
int NDDxp::mcaElapsedRealTime
protected
int NDDxp::mcaErase
protected
int NDDxp::mcaNumChannels
protected
int NDDxp::mcaPrescale
protected
int NDDxp::mcaPresetCounts
protected
int NDDxp::mcaPresetHighChannel
protected
int NDDxp::mcaPresetLiveTime
protected
int NDDxp::mcaPresetLowChannel
protected
int NDDxp::mcaPresetRealTime
protected
int NDDxp::mcaPresetSweeps
protected
int NDDxp::mcaReadStatus
protected
int NDDxp::mcaSequence
protected
int NDDxp::mcaStartAcquire
protected
int NDDxp::mcaStopAcquire
protected
int NDDxp::NDDxpAcquiring
protected

< Erased flag.

(0=not erased; 1=erased)

int NDDxp::NDDxpAutoPixelsPerBuffer
protected
int NDDxp::NDDxpBufferCounter
protected

< Internal acquiring flag, not exposed via drvUser

int NDDxp::NDDxpBufferOverrun
protected

< Mapping mode only: force a pixel increment in the mapping buffer (write only int).

Value is ignored.

int NDDxp::NDDxpCollectMode
protected
int NDDxp::NDDxpCurrentPixel
protected

< Change list mode variant (0=Gate; 1=Sync; 2=Clock) (int32 read/write) addr: all/any

int NDDxp::NDDxpDecayTime
protected
int NDDxp::NDDxpDetectionFilter
protected
int NDDxp::NDDxpDetectionThreshold
protected

< The trace timebase array (read)

int NDDxp::NDDxpDetectorPolarity
protected
int NDDxp::NDDxpErased
protected
int NDDxp::NDDxpEvents
protected

< number of triggers received (double)

int NDDxp::NDDxpFirmwareVersion
protected
int NDDxp::NDDxpForceRead
protected

< Status/data polling time in seconds

int NDDxp::NDDxpIgnoreGate
protected
int NDDxp::NDDxpInputCountRate
protected

< total number of events registered (double)

int NDDxp::NDDxpInputLogicPolarity
protected

< Mapping mode only: pixel advance mode (int)

int NDDxp::NDDxpListMode
protected
int NDDxp::NDDxpLiveTimeOutput
protected
int NDDxp::NDDxpMaxSCAs
protected
int NDDxp::NDDxpMBytesRead
protected
int NDDxp::NDDxpMCARefreshPeriod
protected
int NDDxp::NDDxpMinPulsePairSeparation
protected
int NDDxp::NDDxpNDArrayMode
protected
int NDDxp::NDDxpNextPixel
protected

< Mapping mode only: read the current pixel that is being acquired into (int)

int NDDxp::NDDxpNumMCAChannels
protected
int NDDxp::NDDxpNumSCAs
protected
int NDDxp::NDDxpOutputCountRate
protected

< input count rate in Hz (double)

int NDDxp::NDDxpPixelAdvanceMode
protected
int NDDxp::NDDxpPixelsPerBuffer
protected

< Preset value how many pixels to acquire in one run (r/w) mapping mode

int NDDxp::NDDxpPixelsPerRun
protected

< NDArray mode (=Raw buffers, 1=MCA spectra)

int NDDxp::NDDxpPollTime
protected

< Count how many buffers have been collected (read) mapping mode

int NDDxp::NDDxpPresetEvents
protected
int NDDxp::NDDxpPresetMode
protected
int NDDxp::NDDxpPresetReal
protected
int NDDxp::NDDxpPresetTriggers
protected
int NDDxp::NDDxpReadRate
protected
int NDDxp::NDDxpSaveSystem
protected
int NDDxp::NDDxpSaveSystemFile
protected
int NDDxp::NDDxpSCAHigh[DXP_MAX_SCAS]
protected
int NDDxp::NDDxpScaleFactor
protected
int NDDxp::NDDxpSCALow[DXP_MAX_SCAS]
protected
int NDDxp::NDDxpSCAPulseDuration
protected
int NDDxp::NDDxpSCATriggerMode
protected
int NDDxp::NDDxpSerialNumber
protected
int NDDxp::NDDxpSpectrumXAxis
protected
int NDDxp::NDDxpSyncCount
protected
int NDDxp::NDDxpTraceData
protected

< Set the trace sample time in us.

int NDDxp::NDDxpTraceMode
protected

< output count rate in Hz (double)

int NDDxp::NDDxpTraceTime
protected

< Select what type of trace to do: ADC, baseline hist, .

. etc.

int NDDxp::NDDxpTraceTimeArray
protected

< The trace array data (read)

int NDDxp::NDDxpTriggerLiveTime
protected

< Force reading MCA spectra - used for mcaData when addr=ALL

int NDDxp::NDDxpTriggerOutput
protected
int NDDxp::NDDxpTriggers
protected

< live time in seconds (double)


The documentation for this class was generated from the following files: