dxp 3-0
Public Member Functions | Protected Attributes
NDDxp Class Reference
Inheritance diagram for NDDxp:
asynNDArrayDriver asynPortDriver

List of all members.

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().
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 Called when asyn clients call pasynFloat64->write().
virtual asynStatus readInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt32Array->read().
void report (FILE *fp, int details)
 Report status of the driver.
asynStatus xia_checkError (asynUser *pasynUser, epicsInt32 xiastatus, char *xiacmd)
void shutdown ()
void acquisitionTask ()
 Thread used to poll the hardware for status and data.
asynStatus pollMappingMode ()
 Check if the current mapping buffer is full in which case it reads out the data.
int getChannel (asynUser *pasynUser, int *addr)
int getModuleType ()
asynStatus apply (int channel, int forceApply=0)
asynStatus setPresets (asynUser *pasynUser, int addr)
asynStatus setDxpParam (asynUser *pasynUser, int addr, int function, double value)
asynStatus getDxpParams (asynUser *pasynUser, int addr)
asynStatus setLLDxpParam (asynUser *pasynUser, int addr, int value)
asynStatus getLLDxpParams (asynUser *pasynUser, int addr)
asynStatus setSCAs (asynUser *pasynUser, int addr)
asynStatus getSCAs (asynUser *pasynUser, int addr)
asynStatus getSCAData (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.
asynStatus getTrace (asynUser *pasynUser, int addr, epicsInt32 *data, size_t maxLen, size_t *actualLen)
asynStatus getBaselineHistogram (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)

Protected Attributes

int NDDxpCollectMode
int NDDxpListMode
int NDDxpPixelAdvanceMode
 < Change list mode variant (0=Gate; 1=Sync; 2=Clock) (int32 read/write) addr: all/any
int NDDxpCurrentPixel
 < Mapping mode only: pixel advance mode (int)
int NDDxpNextPixel
 < Mapping mode only: read the current pixel that is being acquired into (int)
int NDDxpPixelsPerBuffer
 < Mapping mode only: force a pixel increment in the mapping buffer (write only int).
int NDDxpAutoPixelsPerBuffer
int NDDxpPixelsPerRun
int NDDxpBufferOverrun
 < Preset value how many pixels to acquire in one run (r/w) mapping mode
int NDDxpMBytesRead
int NDDxpReadRate
int NDDxpIgnoreGate
int NDDxpSyncCount
int NDDxpInputLogicPolarity
int NDDxpErased
int NDDxpAcquiring
 < Erased flag.
int NDDxpBufferCounter
 < Internal acquiring flag, not exposed via drvUser
int NDDxpPollTime
 < Count how many buffers have been collected (read) mapping mode
int NDDxpForceRead
 < Status/data polling time in seconds
int NDDxpApply
 < Force reading MCA spectra - used for mcaData when addr=ALL
int NDDxpAutoApply
 < Force apply
int NDDxpTraceMode
 < Auto-apply
int NDDxpTraceTime
 < Select what type of trace to do: ADC, baseline hist, .
int NDDxpNewTraceTime
 < Set the trace sample time in us.
int NDDxpTraceData
 < Flag indicating trace time changed
int NDDxpTraceTimeArray
 < The trace array data (read)
int NDDxpBaselineHistogram
 < The trace timebase array (read)
int NDDxpBaselineEnergy
 < The baseline histogram array data (read)
int NDDxpBaselineEnergyArray
 < The baseline histogram energy per bin (read)
int NDDxpTriggerLiveTime
 < The baseline histogram energy array (read)
int NDDxpTriggers
 < live time in seconds (double)
int NDDxpEvents
 < number of triggers received (double)
int NDDxpOverflows
 < total number of events registered (double)
int NDDxpUnderflows
 < number of overflows (double)
int NDDxpInputCountRate
 < number of underflows (double)
int NDDxpOutputCountRate
 < input count rate in Hz (double)
int NDDxpPeakingTime
 < output count rate in Hz (double)
int NDDxpDynamicRange
int NDDxpTriggerThreshold
int NDDxpBaselineThreshold
int NDDxpEnergyThreshold
int NDDxpCalibrationEnergy
int NDDxpADCPercentRule
int NDDxpMCABinWidth
int NDDxpMaxEnergy
int NDDxpPreampGain
 < Maximum energy
int NDDxpNumMCAChannels
int NDDxpDetectorPolarity
int NDDxpResetDelay
int NDDxpDecayTime
int NDDxpGapTime
int NDDxpTriggerPeakingTime
int NDDxpTriggerGapTime
int NDDxpBaselineAverage
int NDDxpBaselineCut
int NDDxpEnableBaselineCut
int NDDxpMaxWidth
int NDDxpPresetMode
int NDDxpPresetEvents
int NDDxpPresetTriggers
int NDDxpSpectrumXAxis
int NDDxpMaxSCAs
int NDDxpNumSCAs
int NDDxpSCALow [DXP_MAX_SCAS]
int NDDxpSCAHigh [DXP_MAX_SCAS]
int NDDxpSCACounts [DXP_MAX_SCAS]
int NDDxpSaveSystemFile
int NDDxpSaveSystem
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
int NDDxpNumLLParams
int NDDxpReadLLParams
int NDDxpLLParamNames [DXP_MAX_LL_PARAMS]
 < Force read of values of low-level parameters
int NDDxpLLParamVals [DXP_MAX_LL_PARAMS]

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::apply ( int  channel,
int  forceApply = 0 
)
asynStatus NDDxp::configureCollectMode ( )
asynStatus NDDxp::getAcquisitionStatistics ( asynUser *  pasynUser,
int  addr 
)
asynStatus NDDxp::getAcquisitionStatus ( asynUser *  pasynUser,
int  addr 
)
asynStatus NDDxp::getBaselineHistogram ( asynUser *  pasynUser,
int  addr,
epicsInt32 *  data,
size_t  maxLen,
size_t *  actualLen 
)
int NDDxp::getChannel ( asynUser *  pasynUser,
int *  addr 
)
asynStatus NDDxp::getDxpParams ( asynUser *  pasynUser,
int  addr 
)
asynStatus NDDxp::getLLDxpParams ( 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 
)
asynStatus NDDxp::getModuleStatistics ( asynUser *  pasynUser,
int  addr,
moduleStatistics stats 
)
int NDDxp::getModuleType ( )
asynStatus NDDxp::getSCAData ( asynUser *  pasynUser,
int  addr 
)
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::setLLDxpParam ( asynUser *  pasynUser,
int  addr,
int  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,
char *  xiacmd 
)

Member Data Documentation

int NDDxp::mcaAcquireMode [protected]
int NDDxp::mcaAcquiring [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::NDDxpADCPercentRule [protected]
int NDDxp::NDDxpApply [protected]

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

int NDDxp::NDDxpAutoApply [protected]

< Force apply

int NDDxp::NDDxpBaselineAverage [protected]
int NDDxp::NDDxpBaselineCut [protected]
int NDDxp::NDDxpBaselineEnergy [protected]

< The baseline histogram array data (read)

< The baseline histogram energy per bin (read)

< The trace timebase array (read)

int NDDxp::NDDxpBufferCounter [protected]

< Internal acquiring flag, not exposed via drvUser

int NDDxp::NDDxpBufferOverrun [protected]

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

int NDDxp::NDDxpCollectMode [protected]
int NDDxp::NDDxpCurrentPixel [protected]

< Mapping mode only: pixel advance mode (int)

int NDDxp::NDDxpDecayTime [protected]
int NDDxp::NDDxpDynamicRange [protected]
int NDDxp::NDDxpEnergyThreshold [protected]
int NDDxp::NDDxpErased [protected]
int NDDxp::NDDxpEvents [protected]

< number of triggers received (double)

int NDDxp::NDDxpForceRead [protected]

< Status/data polling time in seconds

int NDDxp::NDDxpGapTime [protected]
int NDDxp::NDDxpIgnoreGate [protected]
int NDDxp::NDDxpInputCountRate [protected]

< number of underflows (double)

int NDDxp::NDDxpListMode [protected]
int NDDxp::NDDxpLLParamNames[DXP_MAX_LL_PARAMS] [protected]

< Force read of values of low-level parameters

int NDDxp::NDDxpLLParamVals[DXP_MAX_LL_PARAMS] [protected]
int NDDxp::NDDxpMaxEnergy [protected]
int NDDxp::NDDxpMaxSCAs [protected]
int NDDxp::NDDxpMaxWidth [protected]
int NDDxp::NDDxpMBytesRead [protected]
int NDDxp::NDDxpMCABinWidth [protected]
int NDDxp::NDDxpNewTraceTime [protected]

< Set the trace sample time in us.

int NDDxp::NDDxpNextPixel [protected]

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

int NDDxp::NDDxpNumLLParams [protected]
int NDDxp::NDDxpNumMCAChannels [protected]
int NDDxp::NDDxpNumSCAs [protected]
int NDDxp::NDDxpOutputCountRate [protected]

< input count rate in Hz (double)

int NDDxp::NDDxpOverflows [protected]

< total number of events registered (double)

int NDDxp::NDDxpPeakingTime [protected]

< output count rate in Hz (double)

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

int NDDxp::NDDxpPixelsPerBuffer [protected]

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

Value is ignored.

int NDDxp::NDDxpPixelsPerRun [protected]
int NDDxp::NDDxpPollTime [protected]

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

int NDDxp::NDDxpPreampGain [protected]

< Maximum energy

int NDDxp::NDDxpPresetEvents [protected]
int NDDxp::NDDxpPresetMode [protected]
int NDDxp::NDDxpPresetTriggers [protected]
int NDDxp::NDDxpReadLLParams [protected]
int NDDxp::NDDxpReadRate [protected]
int NDDxp::NDDxpResetDelay [protected]
int NDDxp::NDDxpSaveSystem [protected]
int NDDxp::NDDxpSaveSystemFile [protected]
int NDDxp::NDDxpSCACounts[DXP_MAX_SCAS] [protected]
int NDDxp::NDDxpSCAHigh[DXP_MAX_SCAS] [protected]
int NDDxp::NDDxpSCALow[DXP_MAX_SCAS] [protected]
int NDDxp::NDDxpSpectrumXAxis [protected]
int NDDxp::NDDxpSyncCount [protected]
int NDDxp::NDDxpTraceData [protected]

< Flag indicating trace time changed

int NDDxp::NDDxpTraceMode [protected]

< Auto-apply

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::NDDxpTriggerGapTime [protected]
int NDDxp::NDDxpTriggerLiveTime [protected]

< The baseline histogram energy array (read)

int NDDxp::NDDxpTriggers [protected]

< live time in seconds (double)

int NDDxp::NDDxpUnderflows [protected]

< number of overflows (double)


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