|
areaDetector
3-5-0
EPICS areaDetector framework
|
#include <stddef.h>#include <stdlib.h>#include <stdarg.h>#include <math.h>#include <stdio.h>#include <errno.h>#include <string.h>#include <ctype.h>#include <fcntl.h>#include <sys/stat.h>#include <unistd.h>#include <epicsTime.h>#include <epicsTypes.h>#include <epicsThread.h>#include <epicsEvent.h>#include <epicsMutex.h>#include <epicsString.h>#include <epicsStdio.h>#include <cantProceed.h>#include <asynOctetSyncIO.h>#include <pv/pvTimeStamp.h>#include "ADDriver.h"#include "nEDChannel.h"#include "ADnEDTransform.h"#include "ADnEDGlobals.h"Go to the source code of this file.
Classes | |
| class | ADnED |
Namespaces | |
| epics | |
| epics::pvData | |
Macros | |
| #define | ADnEDFirstParamString "ADNED_FIRST" |
| areaDetector driver that is a V4 neutron data client for nED. More... | |
| #define | ADnEDLastParamString "ADNED_LAST" |
| #define | ADnEDResetParamString "ADNED_RESET" |
| #define | ADnEDStartParamString "ADNED_START" |
| #define | ADnEDStopParamString "ADNED_STOP" |
| #define | ADnEDPauseParamString "ADNED_PAUSE" |
| #define | ADnEDEventDebugParamString "ADNED_EVENT_DEBUG" |
| #define | ADnEDSeqCounterParamString "ADNED_SEQ_COUNTER" |
| #define | ADnEDPulseCounterParamString "ADNED_PULSE_COUNTER" |
| #define | ADnEDEventRateParamString "ADNED_EVENT_RATE" |
| #define | ADnEDSeqIDParamString "ADNED_SEQ_ID" |
| #define | ADnEDSeqIDMissingParamString "ADNED_SEQ_ID_MISSING" |
| #define | ADnEDSeqIDNumMissingParamString "ADNED_SEQ_ID_NUM_MISSING" |
| #define | ADnEDBadTimeStampParamString "ADNED_BAD_TIMESTAMP" |
| #define | ADnEDPChargeParamString "ADNED_PCHARGE" |
| #define | ADnEDPChargeIntParamString "ADNED_PCHARGE_INT" |
| #define | ADnEDEventUpdatePeriodParamString "ADNED_EVENT_UPDATE_PERIOD" |
| #define | ADnEDFrameUpdatePeriodParamString "ADNED_FRAME_UPDATE_PERIOD" |
| #define | ADnEDNumChannelsParamString "ADNED_NUM_CHANNELS" |
| #define | ADnEDPVNameParamString "ADNED_PV_NAME" |
| #define | ADnEDNumDetParamString "ADNED_NUM_DET" |
| #define | ADnEDDetPixelNumStartParamString "ADNED_DET_PIXEL_NUM_START" |
| #define | ADnEDDetPixelNumEndParamString "ADNED_DET_PIXEL_NUM_END" |
| #define | ADnEDDetPixelNumSizeParamString "ADNED_DET_PIXEL_NUM_SIZE" |
| #define | ADnEDDetTOFNumBinsParamString "ADNED_DET_TOF_NUM_BINS" |
| #define | ADnEDDet2DTypeParamString "ADNED_DET_2D_TYPE" |
| #define | ADnEDDetNDArrayStartParamString "ADNED_DET_NDARRAY_START" |
| #define | ADnEDDetNDArrayEndParamString "ADNED_DET_NDARRAY_END" |
| #define | ADnEDDetNDArraySizeParamString "ADNED_DET_NDARRAY_SIZE" |
| #define | ADnEDDetNDArrayTOFStartParamString "ADNED_DET_NDARRAY_TOF_START" |
| #define | ADnEDDetNDArrayTOFEndParamString "ADNED_DET_NDARRAY_TOF_END" |
| #define | ADnEDDetEventRateParamString "ADNED_DET_EVENT_RATE" |
| #define | ADnEDDetEventTotalParamString "ADNED_DET_EVENT_TOTAL" |
| #define | ADnEDDetTOFROIStartParamString "ADNED_DET_TOF_ROI_START" |
| #define | ADnEDDetTOFROISizeParamString "ADNED_DET_TOF_ROI_SIZE" |
| #define | ADnEDDetTOFROIEnableParamString "ADNED_DET_TOF_ROI_ENABLE" |
| #define | ADnEDDetTOFArrayResetParamString "ADNED_DET_TOF_ARRAY_RESET" |
| #define | ADnEDDetTOFTransFile0ParamString "ADNED_DET_TOF_TRANS_FILE0" |
| #define | ADnEDDetTOFTransFile1ParamString "ADNED_DET_TOF_TRANS_FILE1" |
| #define | ADnEDDetTOFTransFile2ParamString "ADNED_DET_TOF_TRANS_FILE2" |
| #define | ADnEDDetTOFTransFile3ParamString "ADNED_DET_TOF_TRANS_FILE3" |
| #define | ADnEDDetTOFTransFile4ParamString "ADNED_DET_TOF_TRANS_FILE4" |
| #define | ADnEDDetTOFTransFile5ParamString "ADNED_DET_TOF_TRANS_FILE5" |
| #define | ADnEDDetTOFTransInt0ParamString "ADNED_DET_TOF_TRANS_INT0" |
| #define | ADnEDDetTOFTransInt1ParamString "ADNED_DET_TOF_TRANS_INT1" |
| #define | ADnEDDetTOFTransInt2ParamString "ADNED_DET_TOF_TRANS_INT2" |
| #define | ADnEDDetTOFTransInt3ParamString "ADNED_DET_TOF_TRANS_INT3" |
| #define | ADnEDDetTOFTransInt4ParamString "ADNED_DET_TOF_TRANS_INT4" |
| #define | ADnEDDetTOFTransInt5ParamString "ADNED_DET_TOF_TRANS_INT5" |
| #define | ADnEDDetTOFTransFloat0ParamString "ADNED_DET_TOF_TRANS_FLOAT0" |
| #define | ADnEDDetTOFTransFloat1ParamString "ADNED_DET_TOF_TRANS_FLOAT1" |
| #define | ADnEDDetTOFTransFloat2ParamString "ADNED_DET_TOF_TRANS_FLOAT2" |
| #define | ADnEDDetTOFTransFloat3ParamString "ADNED_DET_TOF_TRANS_FLOAT3" |
| #define | ADnEDDetTOFTransFloat4ParamString "ADNED_DET_TOF_TRANS_FLOAT4" |
| #define | ADnEDDetTOFTransFloat5ParamString "ADNED_DET_TOF_TRANS_FLOAT5" |
| #define | ADnEDDetTOFTransPrintParamString "ADNED_DET_TOF_TRANS_PRINT" |
| #define | ADnEDDetTOFTransDebugParamString "ADNED_DET_TOF_TRANS_DEBUG" |
| #define | ADnEDDetTOFTransTypeParamString "ADNED_DET_TOF_TRANS_TYPE" |
| #define | ADnEDDetTOFTransOffsetParamString "ADNED_DET_TOF_TRANS_OFFSET" |
| #define | ADnEDDetTOFTransScaleParamString "ADNED_DET_TOF_TRANS_SCALE" |
| #define | ADnEDDetPixelMapFileParamString "ADNED_DET_PIXEL_MAP_FILE" |
| #define | ADnEDDetPixelMapPrintParamString "ADNED_DET_PIXEL_MAP_PRINT" |
| #define | ADnEDDetPixelMapEnableParamString "ADNED_DET_PIXEL_MAP_ENABLE" |
| #define | ADnEDDetPixelROIStartXParamString "ADNED_DET_PIXEL_ROI_START_X" |
| #define | ADnEDDetPixelROISizeXParamString "ADNED_DET_PIXEL_ROI_SIZE_X" |
| #define | ADnEDDetPixelROIStartYParamString "ADNED_DET_PIXEL_ROI_START_Y" |
| #define | ADnEDDetPixelROISizeYParamString "ADNED_DET_PIXEL_ROI_SIZE_Y" |
| #define | ADnEDDetPixelSizeXParamString "ADNED_DET_PIXEL_SIZE_X" |
| #define | ADnEDDetPixelROIEnableParamString "ADNED_DET_PIXEL_ROI_ENABLE" |
| #define | ADnEDTOFMaxParamString "ADNED_TOF_MAX" |
| #define | ADnEDAllocSpaceParamString "ADNED_ALLOC_SPACE" |
| #define | ADnEDAllocSpaceStatusParamString "ADNED_ALLOC_SPACE_STATUS" |
| #define | ADNED_FIRST_DRIVER_COMMAND ADnEDFirstParam |
| #define | ADNED_LAST_DRIVER_COMMAND ADnEDLastParam |
| #define | NUM_DRIVER_PARAMS (&ADNED_LAST_DRIVER_COMMAND - &ADNED_FIRST_DRIVER_COMMAND + 1) |
Functions | |
| asynStatus | ADnEDConfig (const char *portName, int maxBuffers, size_t maxMemory, int debug) |
| The following functions have C linkage, and can be called directly or from iocsh. More... | |
| asynStatus | ADnEDCreateFactory () |
| Config function for IOC shell. More... | |
| #define ADNED_FIRST_DRIVER_COMMAND ADnEDFirstParam |
| #define ADNED_LAST_DRIVER_COMMAND ADnEDLastParam |
| #define ADnEDAllocSpaceParamString "ADNED_ALLOC_SPACE" |
| #define ADnEDAllocSpaceStatusParamString "ADNED_ALLOC_SPACE_STATUS" |
| #define ADnEDBadTimeStampParamString "ADNED_BAD_TIMESTAMP" |
| #define ADnEDDet2DTypeParamString "ADNED_DET_2D_TYPE" |
| #define ADnEDDetEventRateParamString "ADNED_DET_EVENT_RATE" |
| #define ADnEDDetEventTotalParamString "ADNED_DET_EVENT_TOTAL" |
| #define ADnEDDetNDArrayEndParamString "ADNED_DET_NDARRAY_END" |
| #define ADnEDDetNDArraySizeParamString "ADNED_DET_NDARRAY_SIZE" |
| #define ADnEDDetNDArrayStartParamString "ADNED_DET_NDARRAY_START" |
| #define ADnEDDetNDArrayTOFEndParamString "ADNED_DET_NDARRAY_TOF_END" |
| #define ADnEDDetNDArrayTOFStartParamString "ADNED_DET_NDARRAY_TOF_START" |
| #define ADnEDDetPixelMapEnableParamString "ADNED_DET_PIXEL_MAP_ENABLE" |
| #define ADnEDDetPixelMapFileParamString "ADNED_DET_PIXEL_MAP_FILE" |
| #define ADnEDDetPixelMapPrintParamString "ADNED_DET_PIXEL_MAP_PRINT" |
| #define ADnEDDetPixelNumEndParamString "ADNED_DET_PIXEL_NUM_END" |
| #define ADnEDDetPixelNumSizeParamString "ADNED_DET_PIXEL_NUM_SIZE" |
| #define ADnEDDetPixelNumStartParamString "ADNED_DET_PIXEL_NUM_START" |
| #define ADnEDDetPixelROIEnableParamString "ADNED_DET_PIXEL_ROI_ENABLE" |
| #define ADnEDDetPixelROISizeXParamString "ADNED_DET_PIXEL_ROI_SIZE_X" |
| #define ADnEDDetPixelROISizeYParamString "ADNED_DET_PIXEL_ROI_SIZE_Y" |
| #define ADnEDDetPixelROIStartXParamString "ADNED_DET_PIXEL_ROI_START_X" |
| #define ADnEDDetPixelROIStartYParamString "ADNED_DET_PIXEL_ROI_START_Y" |
| #define ADnEDDetPixelSizeXParamString "ADNED_DET_PIXEL_SIZE_X" |
| #define ADnEDDetTOFArrayResetParamString "ADNED_DET_TOF_ARRAY_RESET" |
| #define ADnEDDetTOFNumBinsParamString "ADNED_DET_TOF_NUM_BINS" |
| #define ADnEDDetTOFROIEnableParamString "ADNED_DET_TOF_ROI_ENABLE" |
| #define ADnEDDetTOFROISizeParamString "ADNED_DET_TOF_ROI_SIZE" |
| #define ADnEDDetTOFROIStartParamString "ADNED_DET_TOF_ROI_START" |
| #define ADnEDDetTOFTransDebugParamString "ADNED_DET_TOF_TRANS_DEBUG" |
| #define ADnEDDetTOFTransFile0ParamString "ADNED_DET_TOF_TRANS_FILE0" |
| #define ADnEDDetTOFTransFile1ParamString "ADNED_DET_TOF_TRANS_FILE1" |
| #define ADnEDDetTOFTransFile2ParamString "ADNED_DET_TOF_TRANS_FILE2" |
| #define ADnEDDetTOFTransFile3ParamString "ADNED_DET_TOF_TRANS_FILE3" |
| #define ADnEDDetTOFTransFile4ParamString "ADNED_DET_TOF_TRANS_FILE4" |
| #define ADnEDDetTOFTransFile5ParamString "ADNED_DET_TOF_TRANS_FILE5" |
| #define ADnEDDetTOFTransFloat0ParamString "ADNED_DET_TOF_TRANS_FLOAT0" |
| #define ADnEDDetTOFTransFloat1ParamString "ADNED_DET_TOF_TRANS_FLOAT1" |
| #define ADnEDDetTOFTransFloat2ParamString "ADNED_DET_TOF_TRANS_FLOAT2" |
| #define ADnEDDetTOFTransFloat3ParamString "ADNED_DET_TOF_TRANS_FLOAT3" |
| #define ADnEDDetTOFTransFloat4ParamString "ADNED_DET_TOF_TRANS_FLOAT4" |
| #define ADnEDDetTOFTransFloat5ParamString "ADNED_DET_TOF_TRANS_FLOAT5" |
| #define ADnEDDetTOFTransInt0ParamString "ADNED_DET_TOF_TRANS_INT0" |
| #define ADnEDDetTOFTransInt1ParamString "ADNED_DET_TOF_TRANS_INT1" |
| #define ADnEDDetTOFTransInt2ParamString "ADNED_DET_TOF_TRANS_INT2" |
| #define ADnEDDetTOFTransInt3ParamString "ADNED_DET_TOF_TRANS_INT3" |
| #define ADnEDDetTOFTransInt4ParamString "ADNED_DET_TOF_TRANS_INT4" |
| #define ADnEDDetTOFTransInt5ParamString "ADNED_DET_TOF_TRANS_INT5" |
| #define ADnEDDetTOFTransOffsetParamString "ADNED_DET_TOF_TRANS_OFFSET" |
| #define ADnEDDetTOFTransPrintParamString "ADNED_DET_TOF_TRANS_PRINT" |
| #define ADnEDDetTOFTransScaleParamString "ADNED_DET_TOF_TRANS_SCALE" |
| #define ADnEDDetTOFTransTypeParamString "ADNED_DET_TOF_TRANS_TYPE" |
| #define ADnEDEventDebugParamString "ADNED_EVENT_DEBUG" |
| #define ADnEDEventRateParamString "ADNED_EVENT_RATE" |
| #define ADnEDEventUpdatePeriodParamString "ADNED_EVENT_UPDATE_PERIOD" |
| #define ADnEDFirstParamString "ADNED_FIRST" |
areaDetector driver that is a V4 neutron data client for nED.
| #define ADnEDFrameUpdatePeriodParamString "ADNED_FRAME_UPDATE_PERIOD" |
| #define ADnEDLastParamString "ADNED_LAST" |
| #define ADnEDNumChannelsParamString "ADNED_NUM_CHANNELS" |
| #define ADnEDNumDetParamString "ADNED_NUM_DET" |
| #define ADnEDPauseParamString "ADNED_PAUSE" |
| #define ADnEDPChargeIntParamString "ADNED_PCHARGE_INT" |
| #define ADnEDPChargeParamString "ADNED_PCHARGE" |
| #define ADnEDPulseCounterParamString "ADNED_PULSE_COUNTER" |
| #define ADnEDPVNameParamString "ADNED_PV_NAME" |
| #define ADnEDResetParamString "ADNED_RESET" |
| #define ADnEDSeqCounterParamString "ADNED_SEQ_COUNTER" |
| #define ADnEDSeqIDMissingParamString "ADNED_SEQ_ID_MISSING" |
| #define ADnEDSeqIDNumMissingParamString "ADNED_SEQ_ID_NUM_MISSING" |
| #define ADnEDSeqIDParamString "ADNED_SEQ_ID" |
| #define ADnEDStartParamString "ADNED_START" |
| #define ADnEDStopParamString "ADNED_STOP" |
| #define ADnEDTOFMaxParamString "ADNED_TOF_MAX" |
| #define NUM_DRIVER_PARAMS (&ADNED_LAST_DRIVER_COMMAND - &ADNED_FIRST_DRIVER_COMMAND + 1) |
| asynStatus ADnEDConfig | ( | const char * | portName, |
| int | maxBuffers, | ||
| size_t | maxMemory, | ||
| int | debug | ||
| ) |
The following functions have C linkage, and can be called directly or from iocsh.
Config function for IOC shell. It instantiates an instance of the driver.
| portName | The Asyn port name to use |
| maxBuffers | Used by asynPortDriver (set to -1 for unlimited) |
| maxMemory | Used by asynPortDriver (set to -1 for unlimited) |
| debug | This debug flag is passed to xsp3_config in the Xspress API (0 or 1) |
| asynStatus ADnEDCreateFactory | ( | ) |
Config function for IOC shell.
It instantiates a PVAccess client factory for this IOC.
1.8.15