dxp 3-4
|
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, const 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 | NDDxpTriggerOutput |
int | NDDxpLiveTimeOutput |
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] |
NDDxp::NDDxp | ( | const char * | portName, |
int | nCChannels, | ||
int | maxBuffers, | ||
size_t | maxMemory | ||
) |
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.
[in] | pasynUser | pasynUser structure that encodes the reason and address. |
[in] | value | Pointer to the array to read. |
[in] | nElements | Number of elements to read. |
[out] | nIn | Number 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.
[in] | fp | File pointed passed by caller where the output is written to. |
[in] | details | If >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.
[in] | pasynUser | pasynUser structure that encodes the reason and address. |
[in] | value | Value 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.
[in] | pasynUser | pasynUser structure that encodes the reason and address. |
[in] | value | Value to write. |
Reimplemented from asynPortDriver.
asynStatus NDDxp::xia_checkError | ( | asynUser * | pasynUser, |
epicsInt32 | xiastatus, | ||
const char * | xiacmd | ||
) |
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::NDDxpADCPercentRule [protected] |
int NDDxp::NDDxpApply [protected] |
< Force reading MCA spectra - used for mcaData when addr=ALL
int NDDxp::NDDxpAutoApply [protected] |
< Force apply
int NDDxp::NDDxpAutoPixelsPerBuffer [protected] |
int NDDxp::NDDxpBaselineAverage [protected] |
int NDDxp::NDDxpBaselineCut [protected] |
int NDDxp::NDDxpBaselineEnergy [protected] |
< The baseline histogram array data (read)
int NDDxp::NDDxpBaselineEnergyArray [protected] |
< The baseline histogram energy per bin (read)
int NDDxp::NDDxpBaselineHistogram [protected] |
< The trace timebase array (read)
int NDDxp::NDDxpBaselineThreshold [protected] |
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::NDDxpCalibrationEnergy [protected] |
int NDDxp::NDDxpCollectMode [protected] |
int NDDxp::NDDxpCurrentPixel [protected] |
< Mapping mode only: pixel advance mode (int)
int NDDxp::NDDxpDecayTime [protected] |
int NDDxp::NDDxpDetectorPolarity [protected] |
int NDDxp::NDDxpDynamicRange [protected] |
int NDDxp::NDDxpEnableBaselineCut [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::NDDxpInputLogicPolarity [protected] |
int NDDxp::NDDxpListMode [protected] |
int NDDxp::NDDxpLiveTimeOutput [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)
int NDDxp::NDDxpPixelAdvanceMode [protected] |
< 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::NDDxpTriggerOutput [protected] |
int NDDxp::NDDxpTriggerPeakingTime [protected] |
int NDDxp::NDDxpTriggers [protected] |
< live time in seconds (double)
int NDDxp::NDDxpTriggerThreshold [protected] |
int NDDxp::NDDxpUnderflows [protected] |
< number of overflows (double)