dxp  3-4
Classes | Macros | Typedefs | Enumerations | Functions
NDDxp.cpp File Reference
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <epicsString.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsEvent.h>
#include <epicsMutex.h>
#include <epicsExit.h>
#include <envDefs.h>
#include <iocsh.h>
#include <handel.h>
#include <handel_errors.h>
#include <handel_generic.h>
#include <xerxes_generic.h>
#include <md_generic.h>
#include <handel_constants.h>
#include <drvMca.h>
#include <asynNDArrayDriver.h>
#include "NDDxp.h"
#include <epicsExport.h>

Classes

struct  moduleStatistics
 
class  NDDxp
 

Macros

#define epicsExportSharedSymbols
 
#define MAX_CHANNELS_PER_CARD   4
 
#define DXP_ALL   -1
 
#define MAX_MCA_BINS   16384
 
#define MCA_BIN_RES   256
 
#define DXP_MAX_SCAS   64
 
#define LEN_SCA_NAME   10
 
#define MAPPING_CLOCK_PERIOD   320e-9
 
#define DXP_MAX_LL_PARAMS   300
 
#define MAPPING_BUFFER_WORDS   1048576
 < The maximum number of 16-bit words in the mapping mode buffer More...
 
#define MEGABYTE   1048576
 
#define CALLHANDEL(handel_call, msg)
 
#define NDDxpCollectModeString   "DxpCollectMode"
 
#define NDDxpListModeString   "DxpListMode"
 
#define NDDxpPixelAdvanceModeString   "DxpPixelAdvanceMode"
 
#define NDDxpCurrentPixelString   "DxpCurrentPixel"
 
#define NDDxpNextPixelString   "DxpNextPixel"
 
#define NDDxpPixelsPerBufferString   "DxpPixelsPerBuffer"
 
#define NDDxpAutoPixelsPerBufferString   "DxpAutoPixelsPerBuffer"
 
#define NDDxpPixelsPerRunString   "DxpPixelsPerRun"
 
#define NDDxpBufferOverrunString   "DxpBufferOverrun"
 
#define NDDxpMBytesReadString   "DxpMBytesRead"
 
#define NDDxpReadRateString   "DxpReadRate"
 
#define NDDxpIgnoreGateString   "DxpIgnoreGate"
 
#define NDDxpSyncCountString   "DxpSyncCount"
 
#define NDDxpInputLogicPolarityString   "DxpInputLogicPolarity"
 
#define NDDxpErasedString   "DxpErased"
 
#define NDDxpAcquiringString   "NDDxpAcquiring" /* Internal use only !!! */
 
#define NDDxpBufferCounterString   "DxpBufferCounter"
 
#define NDDxpPollTimeString   "DxpPollTime"
 
#define NDDxpForceReadString   "DxpForceRead"
 
#define NDDxpApplyString   "DxpApply"
 
#define NDDxpAutoApplyString   "DxpAutoApply"
 
#define NDDxpTraceModeString   "DxpTraceMode"
 
#define NDDxpTraceTimeString   "DxpTraceTime"
 
#define NDDxpNewTraceTimeString   "DxpNewTraceTime" /* Internal use only !!! */
 
#define NDDxpTraceDataString   "DxpTraceData"
 
#define NDDxpTraceTimeArrayString   "DxpTraceTimeArray"
 
#define NDDxpBaselineHistogramString   "DxpBaselineHistogram"
 
#define NDDxpBaselineEnergyString   "DxpBaselineEnergy" /* Internal use only !!! */
 
#define NDDxpBaselineEnergyArrayString   "DxpBaselineEnergyArray"
 
#define NDDxpTriggerLiveTimeString   "DxpTriggerLiveTime"
 
#define NDDxpTriggersString   "DxpTriggers"
 
#define NDDxpEventsString   "DxpEvents"
 
#define NDDxpOverflowsString   "DxpOverflows"
 
#define NDDxpUnderflowsString   "DxpUnderflows"
 
#define NDDxpInputCountRateString   "DxpInputCountRate"
 
#define NDDxpOutputCountRateString   "DxpOutputCountRate"
 
#define NDDxpPeakingTimeString   "DxpPeakingTime"
 
#define NDDxpDynamicRangeString   "DxpDynamicRange"
 
#define NDDxpTriggerThresholdString   "DxpTriggerThreshold"
 
#define NDDxpBaselineThresholdString   "DxpBaselineThreshold"
 
#define NDDxpEnergyThresholdString   "DxpEnergyThreshold"
 
#define NDDxpCalibrationEnergyString   "DxpCalibrationEnergy"
 
#define NDDxpADCPercentRuleString   "DxpADCPercentRule"
 
#define NDDxpMCABinWidthString   "DxpMCABinWidth"
 
#define NDDxpMaxEnergyString   "DxpMaxEnergy"
 
#define NDDxpPreampGainString   "DxpPreampGain"
 
#define NDDxpGainString   "DxpGain"
 
#define NDDxpFineGainString   "DxpFineGain"
 
#define NDDxpNumMCAChannelsString   "DxpNumMCAChannels"
 
#define NDDxpDetectorPolarityString   "DxpDetectorPolarity"
 
#define NDDxpResetDelayString   "DxpResetDelay"
 
#define NDDxpDecayTimeString   "DxpDecayTime"
 
#define NDDxpGapTimeString   "DxpGapTime"
 
#define NDDxpTriggerPeakingTimeString   "DxpTriggerPeakingTime"
 
#define NDDxpTriggerGapTimeString   "DxpTriggerGapTime"
 
#define NDDxpBaselineAverageString   "DxpBaselineAverage"
 
#define NDDxpBaselineCutString   "DxpBaselineCut"
 
#define NDDxpEnableBaselineCutString   "DxpEnableBaselineCut"
 
#define NDDxpMaxWidthString   "DxpMaxWidth"
 
#define NDDxpPresetModeString   "DxpPresetMode"
 
#define NDDxpPresetEventsString   "DxpPresetEvents"
 
#define NDDxpPresetTriggersString   "DxpPresetTriggers"
 
#define NDDxpSpectrumXAxisString   "DxpSpectrumXAxis"
 
#define NDDxpTriggerOutputString   "DxpTriggerOutput"
 
#define NDDxpLiveTimeOutputString   "DxpLiveTimeOutput"
 
#define NDDxpNumSCAsString   "DxpNumSCAs"
 
#define NDDxpMaxSCAsString   "DxpMaxSCAs"
 
#define NDDxpSaveSystemFileString   "DxpSaveSystemFile"
 
#define NDDxpSaveSystemString   "DxpSaveSystem"
 
#define NDDxpNumLLParamsString   "DxpNumLLParams"
 
#define NDDxpReadLLParamsString   "DxpReadLLParams"
 
#define FIRST_DXP_PARAM   NDDxpCollectMode
 < Change mapping mode (0=mca; 1=spectra mapping; 2=sca mapping) (int32 read/write) addr: all/any More...
 

Typedefs

typedef struct moduleStatistics moduleStatistics
 

Enumerations

enum  NDDxpModel_t { NDDxpModelXMAP, NDDxpModelMercury, NDDxpModelSaturn, NDDxpModelMicroDXP }
 
enum  NDDxpCollectMode_t { NDDxpModeMCA, NDDxpModeSpectraMapping, NDDxpModeSCAMapping, NDDxpModeListMapping }
 
enum  NDDxpListMode_t { NDDxpListModeGate, NDDxpListModeSync, NDDxpListModeClock }
 
enum  NDDxpPresetMode_t {
  NDDxpPresetModeNone, NDDxpPresetModeReal, NDDxpPresetModeLive, NDDxpPresetModeEvents,
  NDDxpPresetModeTriggers
}
 
enum  NDDxpPixelAdvanceMode_t { NDDxpPixelAdvanceGate, NDDxpPixelAdvanceSync }
 
enum  NDDxpOutputMode_t {
  NDDxpOutputDisabled, NDDxpOutputFastFilter, NDDxpOutputBaselineFilter, NDDxpOutputEnergyFilter,
  NDDxpOutputEnergyActive
}
 
enum  NDDxpPreamp_t { NDDxpPreampReset, NDDxpPreampRC }
 
enum  NDDxpTraceMode_t {
  NDDxpTraceADC, NDDxpTraceBaselineHistory, NDDxpTraceTriggerFilter, NDDxpTraceBaselineFilter,
  NDDxpTraceEnergyFilter, NDDxpTraceBaselineSamples, NDDxpTraceEnergySamples
}
 

Functions

int NDDxpConfig (const char *portName, int nChannels, int maxBuffers, size_t maxMemory)
 
 epicsExportRegistrar (NDDxpRegister)
 

Macro Definition Documentation

#define CALLHANDEL (   handel_call,
  msg 
)
Value:
{ \
xiastatus = handel_call; \
status = this->xia_checkError( pasynUser, xiastatus, msg ); \
}
#define DXP_ALL   -1
#define DXP_MAX_LL_PARAMS   300
#define DXP_MAX_SCAS   64
#define epicsExportSharedSymbols
#define FIRST_DXP_PARAM   NDDxpCollectMode

< Change mapping mode (0=mca; 1=spectra mapping; 2=sca mapping) (int32 read/write) addr: all/any

#define LEN_SCA_NAME   10
#define MAPPING_BUFFER_WORDS   1048576

< The maximum number of 16-bit words in the mapping mode buffer

#define MAPPING_CLOCK_PERIOD   320e-9
#define MAX_CHANNELS_PER_CARD   4
#define MAX_MCA_BINS   16384
#define MCA_BIN_RES   256
#define MEGABYTE   1048576
#define NDDxpAcquiringString   "NDDxpAcquiring" /* Internal use only !!! */
#define NDDxpADCPercentRuleString   "DxpADCPercentRule"
#define NDDxpApplyString   "DxpApply"
#define NDDxpAutoApplyString   "DxpAutoApply"
#define NDDxpAutoPixelsPerBufferString   "DxpAutoPixelsPerBuffer"
#define NDDxpBaselineAverageString   "DxpBaselineAverage"
#define NDDxpBaselineCutString   "DxpBaselineCut"
#define NDDxpBaselineEnergyArrayString   "DxpBaselineEnergyArray"
#define NDDxpBaselineEnergyString   "DxpBaselineEnergy" /* Internal use only !!! */
#define NDDxpBaselineHistogramString   "DxpBaselineHistogram"
#define NDDxpBaselineThresholdString   "DxpBaselineThreshold"
#define NDDxpBufferCounterString   "DxpBufferCounter"
#define NDDxpBufferOverrunString   "DxpBufferOverrun"
#define NDDxpCalibrationEnergyString   "DxpCalibrationEnergy"
#define NDDxpCollectModeString   "DxpCollectMode"
#define NDDxpCurrentPixelString   "DxpCurrentPixel"
#define NDDxpDecayTimeString   "DxpDecayTime"
#define NDDxpDetectorPolarityString   "DxpDetectorPolarity"
#define NDDxpDynamicRangeString   "DxpDynamicRange"
#define NDDxpEnableBaselineCutString   "DxpEnableBaselineCut"
#define NDDxpEnergyThresholdString   "DxpEnergyThreshold"
#define NDDxpErasedString   "DxpErased"
#define NDDxpEventsString   "DxpEvents"
#define NDDxpFineGainString   "DxpFineGain"
#define NDDxpForceReadString   "DxpForceRead"
#define NDDxpGainString   "DxpGain"
#define NDDxpGapTimeString   "DxpGapTime"
#define NDDxpIgnoreGateString   "DxpIgnoreGate"
#define NDDxpInputCountRateString   "DxpInputCountRate"
#define NDDxpInputLogicPolarityString   "DxpInputLogicPolarity"
#define NDDxpListModeString   "DxpListMode"
#define NDDxpLiveTimeOutputString   "DxpLiveTimeOutput"
#define NDDxpMaxEnergyString   "DxpMaxEnergy"
#define NDDxpMaxSCAsString   "DxpMaxSCAs"
#define NDDxpMaxWidthString   "DxpMaxWidth"
#define NDDxpMBytesReadString   "DxpMBytesRead"
#define NDDxpMCABinWidthString   "DxpMCABinWidth"
#define NDDxpNewTraceTimeString   "DxpNewTraceTime" /* Internal use only !!! */
#define NDDxpNextPixelString   "DxpNextPixel"
#define NDDxpNumLLParamsString   "DxpNumLLParams"
#define NDDxpNumMCAChannelsString   "DxpNumMCAChannels"
#define NDDxpNumSCAsString   "DxpNumSCAs"
#define NDDxpOutputCountRateString   "DxpOutputCountRate"
#define NDDxpOverflowsString   "DxpOverflows"
#define NDDxpPeakingTimeString   "DxpPeakingTime"
#define NDDxpPixelAdvanceModeString   "DxpPixelAdvanceMode"
#define NDDxpPixelsPerBufferString   "DxpPixelsPerBuffer"
#define NDDxpPixelsPerRunString   "DxpPixelsPerRun"
#define NDDxpPollTimeString   "DxpPollTime"
#define NDDxpPreampGainString   "DxpPreampGain"
#define NDDxpPresetEventsString   "DxpPresetEvents"
#define NDDxpPresetModeString   "DxpPresetMode"
#define NDDxpPresetTriggersString   "DxpPresetTriggers"
#define NDDxpReadLLParamsString   "DxpReadLLParams"
#define NDDxpReadRateString   "DxpReadRate"
#define NDDxpResetDelayString   "DxpResetDelay"
#define NDDxpSaveSystemFileString   "DxpSaveSystemFile"
#define NDDxpSaveSystemString   "DxpSaveSystem"
#define NDDxpSpectrumXAxisString   "DxpSpectrumXAxis"
#define NDDxpSyncCountString   "DxpSyncCount"
#define NDDxpTraceDataString   "DxpTraceData"
#define NDDxpTraceModeString   "DxpTraceMode"
#define NDDxpTraceTimeArrayString   "DxpTraceTimeArray"
#define NDDxpTraceTimeString   "DxpTraceTime"
#define NDDxpTriggerGapTimeString   "DxpTriggerGapTime"
#define NDDxpTriggerLiveTimeString   "DxpTriggerLiveTime"
#define NDDxpTriggerOutputString   "DxpTriggerOutput"
#define NDDxpTriggerPeakingTimeString   "DxpTriggerPeakingTime"
#define NDDxpTriggersString   "DxpTriggers"
#define NDDxpTriggerThresholdString   "DxpTriggerThreshold"
#define NDDxpUnderflowsString   "DxpUnderflows"

Typedef Documentation

Enumeration Type Documentation

Enumerator
NDDxpModeMCA 
NDDxpModeSpectraMapping 
NDDxpModeSCAMapping 
NDDxpModeListMapping 
Enumerator
NDDxpListModeGate 
NDDxpListModeSync 
NDDxpListModeClock 
Enumerator
NDDxpModelXMAP 
NDDxpModelMercury 
NDDxpModelSaturn 
NDDxpModelMicroDXP 
Enumerator
NDDxpOutputDisabled 
NDDxpOutputFastFilter 
NDDxpOutputBaselineFilter 
NDDxpOutputEnergyFilter 
NDDxpOutputEnergyActive 
Enumerator
NDDxpPixelAdvanceGate 
NDDxpPixelAdvanceSync 
Enumerator
NDDxpPreampReset 
NDDxpPreampRC 
Enumerator
NDDxpPresetModeNone 
NDDxpPresetModeReal 
NDDxpPresetModeLive 
NDDxpPresetModeEvents 
NDDxpPresetModeTriggers 
Enumerator
NDDxpTraceADC 
NDDxpTraceBaselineHistory 
NDDxpTraceTriggerFilter 
NDDxpTraceBaselineFilter 
NDDxpTraceEnergyFilter 
NDDxpTraceBaselineSamples 
NDDxpTraceEnergySamples 

Function Documentation

epicsExportRegistrar ( NDDxpRegister  )
int NDDxpConfig ( const char *  portName,
int  nChannels,
int  maxBuffers,
size_t  maxMemory 
)