/home/epics/devel/areaDetector/ADApp/ADSrc/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...

Defines

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

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
}
 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 }


Define Documentation

#define ADAcquirePeriodString   "ACQ_PERIOD"

(asynFloat64, r/w) Acquisition period between images

#define ADAcquireString   "ACQUIRE"

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

#define ADAcquireTimeString   "ACQ_TIME"

(asynFloat64, r/w) Acquisition time per image

#define ADBinXString   "BIN_X"

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

#define ADBinYString   "BIN_Y"

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

#define ADFrameTypeString   "FRAME_TYPE"

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

#define ADGainString   "GAIN"

(asynFloat64, r/w) Gain

#define ADImageModeString   "IMAGE_MODE"

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

#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

#define ADMaxSizeXString   "MAX_SIZE_X"

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

#define ADMaxSizeYString   "MAX_SIZE_Y"

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

#define ADMinXString   "MIN_X"

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

#define ADMinYString   "MIN_Y"

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

#define ADModelString   "MODEL"

(asynOctet, r/o) Detector model name

#define ADNumExposuresCounterString   "NEXPOSURES_COUNTER"

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

#define ADNumExposuresString   "NEXPOSURES"

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

#define ADNumImagesCounterString   "NIMAGES_COUNTER"

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

#define ADNumImagesString   "NIMAGES"

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

#define ADReadStatusString   "READ_STATUS"

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

#define ADReverseXString   "REVERSE_X"

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

#define ADReverseYString   "REVERSE_Y"

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

#define ADShutterCloseDelayString   "SHUTTER_CLOSE_DELAY"

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

#define ADShutterControlEPICSString   "SHUTTER_CONTROL_EPICS"

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

#define ADShutterControlString   "SHUTTER_CONTROL"

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

#define ADShutterModeString   "SHUTTER_MODE"

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

#define ADShutterOpenDelayString   "SHUTTER_OPEN_DELAY"

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

#define ADShutterStatusString   "SHUTTER_STATUS"

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

#define ADSizeXString   "SIZE_X"

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

#define ADSizeYString   "SIZE_Y"

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

#define ADStatusMessageString   "STATUS_MESSAGE"

(asynOctet, r/o) Status message

#define ADStatusString   "STATUS"

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

#define ADStringFromServerString   "STRING_FROM_SERVER"

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

#define ADStringToServerString   "STRING_TO_SERVER"

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

#define ADTemperatureString   "TEMPERATURE"

(asynFloat64, r/w) Detector temperature

#define ADTimeRemainingString   "TIME_REMAINING"

(asynFloat64, r/o) Acquisition time remaining

#define ADTriggerModeString   "TRIGGER_MODE"

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

#define AREA_DETECTOR_ERROR   -1

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

#define AREA_DETECTOR_OK   0

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

#define FIRST_AD_PARAM   ADManufacturer

#define LAST_AD_PARAM   ADStringFromServer

#define NUM_AD_PARAMS   (&LAST_AD_PARAM - &FIRST_AD_PARAM + 1)


Enumeration Type Documentation

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.

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.

Enumeration of shutter modes.

Enumerator:
ADShutterModeNone  Don't use shutter.
ADShutterModeEPICS  Shutter controlled by EPICS PVs.
ADShutterModeDetector  Shutter controlled directly by detector.

Enumeration of shutter status.

Enumerator:
ADShutterClosed  Shutter closed.
ADShutterOpen  Shutter open.

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.

Enumerator:
ADTriggerInternal  Internal trigger from detector.
ADTriggerExternal  External trigger input.


Generated on Thu May 20 18:01:42 2010 for areaDetector by  doxygen 1.5.7.1