areaDetector  3-13
EPICS areaDetector framework
Classes | Macros | Enumerations
merlinDetector.h File Reference

Go to the source code of this file.

Classes

class  merlinDetector
 Driver for Dectris merlin pixel array detectors using their Labview server over TCP/IP socket. More...
 

Macros

#define MAX_MESSAGE_SIZE   256
 Messages to/from Labview command channel. More...
 
#define MAX_FILENAME_LEN   256
 
#define MAX_BAD_PIXELS   100
 
#define ASYN_POLL_TIME   .01
 Time to poll when reading from Labview. More...
 
#define Labview_DEFAULT_TIMEOUT   2.0
 
#define FILE_READ_DELAY   .01
 Time between checking to see if image file is complete. More...
 
#define DIMS   2
 
#define TMTrigInternal   (char*)"0"
 Merlin Individual Trigger types. More...
 
#define TMTrigRising   (char*)"1"
 
#define TMTrigFalling   (char*)"2"
 
#define TMTrigSoftware   (char*)"3"
 
#define merlinDelayTimeString   "DELAY_TIME"
 ASYN PARAMETER NAMES. More...
 
#define merlinThreshold0String   "THRESHOLD0"
 
#define merlinThreshold1String   "THRESHOLD1"
 
#define merlinThreshold2String   "THRESHOLD2"
 
#define merlinThreshold3String   "THRESHOLD3"
 
#define merlinThreshold4String   "THRESHOLD4"
 
#define merlinThreshold5String   "THRESHOLD5"
 
#define merlinThreshold6String   "THRESHOLD6"
 
#define merlinThreshold7String   "THRESHOLD7"
 
#define merlinOperatingEnergyString   "OPERATINGENERGY"
 
#define merlinThresholdApplyString   "THRESHOLD_APPLY"
 
#define merlinThresholdAutoApplyString   "THRESHOLD_AUTO_APPLY"
 
#define merlinArmedString   "ARMED"
 
#define merlinmedpixThresholdScanString   "THRESHOLDSCAN"
 
#define merlinStartThresholdScanString   "THRESHOLDSTART"
 
#define merlinStopThresholdScanString   "THRESHOLDSTOP"
 
#define merlinStepThresholdScanString   "THRESHOLDSTEP"
 
#define merlinStartThresholdScanningString   "STARTTHRESHOLDSCANNING"
 
#define merlinCounterDepthString   "COUNTERDEPTH"
 
#define merlinResetString   "RESET"
 
#define merlinSoftwareTriggerString   "SOFTWARETRIGGER"
 
#define merlinEnableCounter1String   "ENABLECOUNTER1"
 
#define merlinContinuousRWString   "CONTINUOUSRW"
 
#define merlinProfileControlString   "PROFILECONTROL"
 
#define merlinProfileXString   "PROFILE_AVERAGE_X"
 
#define merlinProfileYString   "PROFILE_AVERAGE_Y"
 
#define merlinEnableBackgroundCorrString   "ENABLEBACKGROUNDCORR"
 
#define merlinEnableImageSumString   "ENABLESUMAVERAGE"
 
#define merlinQuadMerlinModeString   "QUADMERLINMODE"
 
#define merlinSelectGuiString   "SELECTGUI"
 
#define FIRST_merlin_PARAM   merlinDelayTime
 
#define LAST_merlin_PARAM   merlinSelectGui
 
#define NUM_merlin_PARAMS   (&LAST_merlin_PARAM - &FIRST_merlin_PARAM + 1)
 

Enumerations

enum  merlinDetectorType { Merlin , MerlinXBPM , UomXBPM , MerlinQuad }
 Detector Types. More...
 
enum  merlinTriggerMode {
  TMInternal , TMExternalEnable , TMExternalTriggerHigh , TMExternalTriggerLow ,
  TMExternalTriggerRising , TMSoftwareTrigger
}
 Trigger modes. More...
 
enum  MPXImageMode_t {
  MPXImageSingle , MPXImageMultiple , MPXImageContinuous , MPXThresholdScan ,
  MPXBackgroundCalibrate
}
 Trigger modes. More...
 
enum  MPXQuadMode_t {
  MPXQuadMode12Bit , MPXQuadMode24Bit , MPXQuadMode2Threshold , MPXQuadModeContinuousRW ,
  MPXQuadModeColour , MPXQuadModeSumming
}
 Enumeration of merlin quad modes. More...
 

Macro Definition Documentation

◆ ASYN_POLL_TIME

#define ASYN_POLL_TIME   .01

Time to poll when reading from Labview.

◆ DIMS

#define DIMS   2

◆ FILE_READ_DELAY

#define FILE_READ_DELAY   .01

Time between checking to see if image file is complete.

◆ FIRST_merlin_PARAM

#define FIRST_merlin_PARAM   merlinDelayTime

◆ Labview_DEFAULT_TIMEOUT

#define Labview_DEFAULT_TIMEOUT   2.0

◆ LAST_merlin_PARAM

#define LAST_merlin_PARAM   merlinSelectGui

◆ MAX_BAD_PIXELS

#define MAX_BAD_PIXELS   100

◆ MAX_FILENAME_LEN

#define MAX_FILENAME_LEN   256

◆ MAX_MESSAGE_SIZE

#define MAX_MESSAGE_SIZE   256

Messages to/from Labview command channel.

◆ merlinArmedString

#define merlinArmedString   "ARMED"

◆ merlinContinuousRWString

#define merlinContinuousRWString   "CONTINUOUSRW"

◆ merlinCounterDepthString

#define merlinCounterDepthString   "COUNTERDEPTH"

◆ merlinDelayTimeString

#define merlinDelayTimeString   "DELAY_TIME"

ASYN PARAMETER NAMES.

◆ merlinEnableBackgroundCorrString

#define merlinEnableBackgroundCorrString   "ENABLEBACKGROUNDCORR"

◆ merlinEnableCounter1String

#define merlinEnableCounter1String   "ENABLECOUNTER1"

◆ merlinEnableImageSumString

#define merlinEnableImageSumString   "ENABLESUMAVERAGE"

◆ merlinmedpixThresholdScanString

#define merlinmedpixThresholdScanString   "THRESHOLDSCAN"

◆ merlinOperatingEnergyString

#define merlinOperatingEnergyString   "OPERATINGENERGY"

◆ merlinProfileControlString

#define merlinProfileControlString   "PROFILECONTROL"

◆ merlinProfileXString

#define merlinProfileXString   "PROFILE_AVERAGE_X"

◆ merlinProfileYString

#define merlinProfileYString   "PROFILE_AVERAGE_Y"

◆ merlinQuadMerlinModeString

#define merlinQuadMerlinModeString   "QUADMERLINMODE"

◆ merlinResetString

#define merlinResetString   "RESET"

◆ merlinSelectGuiString

#define merlinSelectGuiString   "SELECTGUI"

◆ merlinSoftwareTriggerString

#define merlinSoftwareTriggerString   "SOFTWARETRIGGER"

◆ merlinStartThresholdScanningString

#define merlinStartThresholdScanningString   "STARTTHRESHOLDSCANNING"

◆ merlinStartThresholdScanString

#define merlinStartThresholdScanString   "THRESHOLDSTART"

◆ merlinStepThresholdScanString

#define merlinStepThresholdScanString   "THRESHOLDSTEP"

◆ merlinStopThresholdScanString

#define merlinStopThresholdScanString   "THRESHOLDSTOP"

◆ merlinThreshold0String

#define merlinThreshold0String   "THRESHOLD0"

◆ merlinThreshold1String

#define merlinThreshold1String   "THRESHOLD1"

◆ merlinThreshold2String

#define merlinThreshold2String   "THRESHOLD2"

◆ merlinThreshold3String

#define merlinThreshold3String   "THRESHOLD3"

◆ merlinThreshold4String

#define merlinThreshold4String   "THRESHOLD4"

◆ merlinThreshold5String

#define merlinThreshold5String   "THRESHOLD5"

◆ merlinThreshold6String

#define merlinThreshold6String   "THRESHOLD6"

◆ merlinThreshold7String

#define merlinThreshold7String   "THRESHOLD7"

◆ merlinThresholdApplyString

#define merlinThresholdApplyString   "THRESHOLD_APPLY"

◆ merlinThresholdAutoApplyString

#define merlinThresholdAutoApplyString   "THRESHOLD_AUTO_APPLY"

◆ NUM_merlin_PARAMS

#define NUM_merlin_PARAMS   (&LAST_merlin_PARAM - &FIRST_merlin_PARAM + 1)

◆ TMTrigFalling

#define TMTrigFalling   (char*)"2"

◆ TMTrigInternal

#define TMTrigInternal   (char*)"0"

Merlin Individual Trigger types.

◆ TMTrigRising

#define TMTrigRising   (char*)"1"

◆ TMTrigSoftware

#define TMTrigSoftware   (char*)"3"

Enumeration Type Documentation

◆ merlinDetectorType

Detector Types.

Enumerator
Merlin 
MerlinXBPM 
UomXBPM 
MerlinQuad 

◆ merlinTriggerMode

Trigger modes.

Enumerator
TMInternal 
TMExternalEnable 
TMExternalTriggerHigh 
TMExternalTriggerLow 
TMExternalTriggerRising 
TMSoftwareTrigger 

◆ MPXImageMode_t

Trigger modes.

Enumeration of image collection modes

Enumerator
MPXImageSingle 

Collect a single image per Acquire command.

MPXImageMultiple 

Collect ADNumImages images per Acquire command.

MPXImageContinuous 

Collect images continuously until Acquire is set to 0.

MPXThresholdScan 
MPXBackgroundCalibrate 

◆ MPXQuadMode_t

Enumeration of merlin quad modes.

Enumerator
MPXQuadMode12Bit 
MPXQuadMode24Bit 
MPXQuadMode2Threshold 
MPXQuadModeContinuousRW 
MPXQuadModeColour 
MPXQuadModeSumming