areaDetector  3-7-0
EPICS areaDetector framework
Classes | Macros | Enumerations
ADDriver.h File Reference
#include <epicsTypes.h>
#include <epicsMessageQueue.h>
#include <epicsTime.h>
#include <asynStandardInterfaces.h>
#include "asynNDArrayDriver.h"

Go to the source code of this file.

Classes

class  ADDriver
 Class from which areaDetector drivers are directly derived. More...
 

Macros

#define AREA_DETECTOR_OK   0
 Success code; generally asyn status codes are used instead where possible. More...
 
#define AREA_DETECTOR_ERROR   -1
 Failure code; generally asyn status codes are used instead where possible. More...
 
#define ADManufacturerString   "MANUFACTURER"
 Strings defining parameters that affect the behaviour of the detector. More...
 
#define ADModelString   "MODEL"
 (asynOctet, r/o) Detector model name More...
 
#define ADSerialNumberString   "SERIAL_NUMBER"
 (asynOctet, r/o) Detector serial number More...
 
#define ADSDKVersionString   "SDK_VERSION"
 (asynOctet, r/o) Vendor SDK version More...
 
#define ADFirmwareVersionString   "FIRMWARE_VERSION"
 (asynOctet, r/o) Detector firmware version More...
 
#define ADGainString   "GAIN"
 (asynFloat64, r/w) Gain More...
 
#define ADBinXString   "BIN_X"
 (asynInt32, r/w) Binning in the X direction More...
 
#define ADBinYString   "BIN_Y"
 (asynInt32, r/w) Binning in the Y direction More...
 
#define ADMinXString   "MIN_X"
 (asynInt32, r/w) First pixel in the X direction; 0 is the first pixel on the detector More...
 
#define ADMinYString   "MIN_Y"
 (asynInt32, r/w) First pixel in the Y direction; 0 is the first pixel on the detector More...
 
#define ADSizeXString   "SIZE_X"
 (asynInt32, r/w) Size of the region to read in the X direction More...
 
#define ADSizeYString   "SIZE_Y"
 (asynInt32, r/w) Size of the region to read in the Y direction More...
 
#define ADMaxSizeXString   "MAX_SIZE_X"
 (asynInt32, r/o) Maximum (sensor) size in the X direction More...
 
#define ADMaxSizeYString   "MAX_SIZE_Y"
 (asynInt32, r/o) Maximum (sensor) size in the Y direction More...
 
#define ADReverseXString   "REVERSE_X"
 (asynInt32, r/w) Reverse image in the X direction (0=No, 1=Yes) More...
 
#define ADReverseYString   "REVERSE_Y"
 (asynInt32, r/w) Reverse image in the Y direction (0=No, 1=Yes) More...
 
#define ADFrameTypeString   "FRAME_TYPE"
 (asynInt32, r/w) Frame type (ADFrameType_t) More...
 
#define ADImageModeString   "IMAGE_MODE"
 (asynInt32, r/w) Image mode (ADImageMode_t) More...
 
#define ADTriggerModeString   "TRIGGER_MODE"
 (asynInt32, r/w) Trigger mode (ADTriggerMode_t) More...
 
#define ADNumExposuresString   "NEXPOSURES"
 (asynInt32, r/w) Number of exposures per image to acquire More...
 
#define ADNumImagesString   "NIMAGES"
 (asynInt32, r/w) Number of images to acquire in one acquisition sequence More...
 
#define ADAcquireTimeString   "ACQ_TIME"
 (asynFloat64, r/w) Acquisition time per image More...
 
#define ADAcquirePeriodString   "ACQ_PERIOD"
 (asynFloat64, r/w) Acquisition period between images More...
 
#define ADStatusString   "STATUS"
 (asynInt32, r/o) Acquisition status (ADStatus_t) More...
 
#define ADAcquireString   "ACQUIRE"
 (asynInt32, r/w) Start(1) or Stop(0) acquisition More...
 
#define ADAcquireBusyString   "ACQUIRE_BUSY"
 (asynInt32, r/w) 0 when acquire done including plugins More...
 
#define ADWaitForPluginsString   "WAIT_FOR_PLUGINS"
 (asynInt32, r/w) Wait for plugins before AcquireBusy goes to 0 More...
 
#define ADShutterControlString   "SHUTTER_CONTROL"
 (asynInt32, r/w) (ADShutterStatus_t) Open (1) or Close(0) shutter More...
 
#define ADShutterControlEPICSString   "SHUTTER_CONTROL_EPICS"
 (asynInt32, r/o) (ADShutterStatus_t) Open (1) or Close(0) EPICS shutter More...
 
#define ADShutterStatusString   "SHUTTER_STATUS"
 (asynInt32, r/o) (ADShutterStatus_t) Shutter Open (1) or Closed(0) More...
 
#define ADShutterModeString   "SHUTTER_MODE"
 (asynInt32, r/w) (ADShutterMode_t) Use EPICS or detector shutter More...
 
#define ADShutterOpenDelayString   "SHUTTER_OPEN_DELAY"
 (asynFloat64, r/w) Time for shutter to open More...
 
#define ADShutterCloseDelayString   "SHUTTER_CLOSE_DELAY"
 (asynFloat64, r/w) Time for shutter to close More...
 
#define ADTemperatureString   "TEMPERATURE"
 (asynFloat64, r/w) Detector temperature More...
 
#define ADTemperatureActualString   "TEMPERATURE_ACTUAL"
 (asynFloat64, r/o) Actual detector temperature More...
 
#define ADNumImagesCounterString   "NIMAGES_COUNTER"
 (asynInt32, r/o) Number of images collected in current acquisition sequence More...
 
#define ADNumExposuresCounterString   "NEXPOSURES_COUNTER"
 (asynInt32, r/o) Number of exposures collected for current image More...
 
#define ADTimeRemainingString   "TIME_REMAINING"
 (asynFloat64, r/o) Acquisition time remaining More...
 
#define ADReadStatusString   "READ_STATUS"
 (asynInt32, r/w) Write 1 to force a read of detector status More...
 
#define ADStatusMessageString   "STATUS_MESSAGE"
 (asynOctet, r/o) Status message More...
 
#define ADStringToServerString   "STRING_TO_SERVER"
 (asynOctet, r/o) String sent to server for message-based drivers More...
 
#define ADStringFromServerString   "STRING_FROM_SERVER"
 (asynOctet, r/o) String received from server for message-based drivers More...
 
#define FIRST_AD_PARAM   ADManufacturer
 

Enumerations

enum  ADShutterStatus_t { ADShutterClosed, ADShutterOpen }
 Enumeration of shutter status. More...
 
enum  ADShutterMode_t { ADShutterModeNone, ADShutterModeEPICS, ADShutterModeDetector }
 Enumeration of shutter modes. More...
 
enum  ADStatus_t {
  ADStatusIdle, ADStatusAcquire, ADStatusReadout, ADStatusCorrect,
  ADStatusSaving, ADStatusAborting, ADStatusError, ADStatusWaiting,
  ADStatusInitializing, ADStatusDisconnected, ADStatusAborted
}
 Enumeration of detector status. More...
 
enum  ADImageMode_t { ADImageSingle, ADImageMultiple, ADImageContinuous }
 Enumeration of image collection modes. More...
 
enum  ADFrameType_t { ADFrameNormal, ADFrameBackground, ADFrameFlatField, ADFrameDoubleCorrelation }
 
enum  ADTriggerMode_t { ADTriggerInternal, ADTriggerExternal }
 

Macro Definition Documentation

◆ ADAcquireBusyString

#define ADAcquireBusyString   "ACQUIRE_BUSY"

(asynInt32, r/w) 0 when acquire done including plugins

◆ ADAcquirePeriodString

#define ADAcquirePeriodString   "ACQ_PERIOD"

(asynFloat64, r/w) Acquisition period between images

◆ ADAcquireString

#define ADAcquireString   "ACQUIRE"

(asynInt32, r/w) Start(1) or Stop(0) acquisition

◆ ADAcquireTimeString

#define ADAcquireTimeString   "ACQ_TIME"

(asynFloat64, r/w) Acquisition time per image

◆ ADBinXString

#define ADBinXString   "BIN_X"

(asynInt32, r/w) Binning in the X direction

◆ ADBinYString

#define ADBinYString   "BIN_Y"

(asynInt32, r/w) Binning in the Y direction

◆ ADFirmwareVersionString

#define ADFirmwareVersionString   "FIRMWARE_VERSION"

(asynOctet, r/o) Detector firmware version

◆ ADFrameTypeString

#define ADFrameTypeString   "FRAME_TYPE"

(asynInt32, r/w) Frame type (ADFrameType_t)

◆ ADGainString

#define ADGainString   "GAIN"

(asynFloat64, r/w) Gain

◆ ADImageModeString

#define ADImageModeString   "IMAGE_MODE"

(asynInt32, r/w) Image mode (ADImageMode_t)

◆ ADManufacturerString

#define ADManufacturerString   "MANUFACTURER"

Strings defining parameters that affect the behaviour of the detector.

These are the values passed to drvUserCreate. The driver will place in pasynUser->reason an integer to be used when the standard asyn interface methods are called. (asynOctet, r/o) Detector manufacturer name

◆ ADMaxSizeXString

#define ADMaxSizeXString   "MAX_SIZE_X"

(asynInt32, r/o) Maximum (sensor) size in the X direction

◆ ADMaxSizeYString

#define ADMaxSizeYString   "MAX_SIZE_Y"

(asynInt32, r/o) Maximum (sensor) size in the Y direction

◆ ADMinXString

#define ADMinXString   "MIN_X"

(asynInt32, r/w) First pixel in the X direction; 0 is the first pixel on the detector

◆ ADMinYString

#define ADMinYString   "MIN_Y"

(asynInt32, r/w) First pixel in the Y direction; 0 is the first pixel on the detector

◆ ADModelString

#define ADModelString   "MODEL"

(asynOctet, r/o) Detector model name

◆ ADNumExposuresCounterString

#define ADNumExposuresCounterString   "NEXPOSURES_COUNTER"

(asynInt32, r/o) Number of exposures collected for current image

◆ ADNumExposuresString

#define ADNumExposuresString   "NEXPOSURES"

(asynInt32, r/w) Number of exposures per image to acquire

◆ ADNumImagesCounterString

#define ADNumImagesCounterString   "NIMAGES_COUNTER"

(asynInt32, r/o) Number of images collected in current acquisition sequence

◆ ADNumImagesString

#define ADNumImagesString   "NIMAGES"

(asynInt32, r/w) Number of images to acquire in one acquisition sequence

◆ ADReadStatusString

#define ADReadStatusString   "READ_STATUS"

(asynInt32, r/w) Write 1 to force a read of detector status

◆ ADReverseXString

#define ADReverseXString   "REVERSE_X"

(asynInt32, r/w) Reverse image in the X direction (0=No, 1=Yes)

◆ ADReverseYString

#define ADReverseYString   "REVERSE_Y"

(asynInt32, r/w) Reverse image in the Y direction (0=No, 1=Yes)

◆ ADSDKVersionString

#define ADSDKVersionString   "SDK_VERSION"

(asynOctet, r/o) Vendor SDK version

◆ ADSerialNumberString

#define ADSerialNumberString   "SERIAL_NUMBER"

(asynOctet, r/o) Detector serial number

◆ ADShutterCloseDelayString

#define ADShutterCloseDelayString   "SHUTTER_CLOSE_DELAY"

(asynFloat64, r/w) Time for shutter to close

◆ ADShutterControlEPICSString

#define ADShutterControlEPICSString   "SHUTTER_CONTROL_EPICS"

(asynInt32, r/o) (ADShutterStatus_t) Open (1) or Close(0) EPICS shutter

◆ ADShutterControlString

#define ADShutterControlString   "SHUTTER_CONTROL"

(asynInt32, r/w) (ADShutterStatus_t) Open (1) or Close(0) shutter

◆ ADShutterModeString

#define ADShutterModeString   "SHUTTER_MODE"

(asynInt32, r/w) (ADShutterMode_t) Use EPICS or detector shutter

◆ ADShutterOpenDelayString

#define ADShutterOpenDelayString   "SHUTTER_OPEN_DELAY"

(asynFloat64, r/w) Time for shutter to open

◆ ADShutterStatusString

#define ADShutterStatusString   "SHUTTER_STATUS"

(asynInt32, r/o) (ADShutterStatus_t) Shutter Open (1) or Closed(0)

◆ ADSizeXString

#define ADSizeXString   "SIZE_X"

(asynInt32, r/w) Size of the region to read in the X direction

◆ ADSizeYString

#define ADSizeYString   "SIZE_Y"

(asynInt32, r/w) Size of the region to read in the Y direction

◆ ADStatusMessageString

#define ADStatusMessageString   "STATUS_MESSAGE"

(asynOctet, r/o) Status message

◆ ADStatusString

#define ADStatusString   "STATUS"

(asynInt32, r/o) Acquisition status (ADStatus_t)

◆ ADStringFromServerString

#define ADStringFromServerString   "STRING_FROM_SERVER"

(asynOctet, r/o) String received from server for message-based drivers

◆ ADStringToServerString

#define ADStringToServerString   "STRING_TO_SERVER"

(asynOctet, r/o) String sent to server for message-based drivers

◆ ADTemperatureActualString

#define ADTemperatureActualString   "TEMPERATURE_ACTUAL"

(asynFloat64, r/o) Actual detector temperature

◆ ADTemperatureString

#define ADTemperatureString   "TEMPERATURE"

(asynFloat64, r/w) Detector temperature

◆ ADTimeRemainingString

#define ADTimeRemainingString   "TIME_REMAINING"

(asynFloat64, r/o) Acquisition time remaining

◆ ADTriggerModeString

#define ADTriggerModeString   "TRIGGER_MODE"

(asynInt32, r/w) Trigger mode (ADTriggerMode_t)

◆ ADWaitForPluginsString

#define ADWaitForPluginsString   "WAIT_FOR_PLUGINS"

(asynInt32, r/w) Wait for plugins before AcquireBusy goes to 0

◆ AREA_DETECTOR_ERROR

#define AREA_DETECTOR_ERROR   -1

Failure code; generally asyn status codes are used instead where possible.

◆ AREA_DETECTOR_OK

#define AREA_DETECTOR_OK   0

Success code; generally asyn status codes are used instead where possible.

◆ FIRST_AD_PARAM

#define FIRST_AD_PARAM   ADManufacturer

Enumeration Type Documentation

◆ ADFrameType_t

Enumerator
ADFrameNormal 

Normal frame type.

ADFrameBackground 

Background frame type.

ADFrameFlatField 

Flat field (no sample) frame type.

ADFrameDoubleCorrelation 

Double correlation frame type, used to remove zingers.

◆ ADImageMode_t

Enumeration of image collection modes.

Enumerator
ADImageSingle 

Collect a single image per Acquire command.

ADImageMultiple 

Collect ADNumImages images per Acquire command.

ADImageContinuous 

Collect images continuously until Acquire is set to 0.

◆ ADShutterMode_t

Enumeration of shutter modes.

Enumerator
ADShutterModeNone 

Don't use shutter.

ADShutterModeEPICS 

Shutter controlled by EPICS PVs.

ADShutterModeDetector 

Shutter controlled directly by detector.

◆ ADShutterStatus_t

Enumeration of shutter status.

Enumerator
ADShutterClosed 

Shutter closed.

ADShutterOpen 

Shutter open.

◆ ADStatus_t

enum ADStatus_t

Enumeration of detector status.

Enumerator
ADStatusIdle 

Detector is idle.

ADStatusAcquire 

Detector is acquiring.

ADStatusReadout 

Detector is reading out.

ADStatusCorrect 

Detector is correcting data.

ADStatusSaving 

Detector is saving data.

ADStatusAborting 

Detector is aborting an operation.

ADStatusError 

Detector has encountered an error.

ADStatusWaiting 

Detector is waiting for something, typically for the acquire period to elapse.

ADStatusInitializing 

Detector is initializing, typically at startup.

ADStatusDisconnected 

Detector is not connected.

ADStatusAborted 

Detector aquisition has been aborted.

◆ ADTriggerMode_t

Enumerator
ADTriggerInternal 

Internal trigger from detector.

ADTriggerExternal 

External trigger input.