/home/epics/devel/areaDetector/ADApp/pilatusSrc/pilatusDetector.cpp File Reference

#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 <cbf_ad.h>
#include <tiffio.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsEvent.h>
#include <epicsMutex.h>
#include <epicsString.h>
#include <epicsStdio.h>
#include <cantProceed.h>
#include <iocsh.h>
#include <epicsExport.h>
#include <asynOctetSyncIO.h>
#include "ADDriver.h"

Classes

struct  badPixel
 Bad pixel structure for Pilatus detector. More...
class  pilatusDetector
 Driver for Dectris Pilatus pixel array detectors using their camserver server over TCP/IP socket. More...

Defines

#define MAX_MESSAGE_SIZE   256
 Messages to/from camserver.
#define MAX_FILENAME_LEN   256
#define MAX_BAD_PIXELS   100
#define ASYN_POLL_TIME   .01
 Time to poll when reading from camserver.
#define CAMSERVER_DEFAULT_TIMEOUT   1.0
#define FILE_READ_DELAY   .01
 Time between checking to see if image file is complete.
#define PilatusDelayTimeString   "DELAY_TIME"
#define PilatusThresholdString   "THRESHOLD"
#define PilatusThresholdApplyString   "THRESHOLD_APPLY"
#define PilatusThresholdAutoApplyString   "THRESHOLD_AUTO_APPLY"
#define PilatusArmedString   "ARMED"
#define PilatusImageFileTmotString   "IMAGE_FILE_TMOT"
#define PilatusBadPixelFileString   "BAD_PIXEL_FILE"
#define PilatusNumBadPixelsString   "NUM_BAD_PIXELS"
#define PilatusFlatFieldFileString   "FLAT_FIELD_FILE"
#define PilatusMinFlatFieldString   "MIN_FLAT_FIELD"
#define PilatusFlatFieldValidString   "FLAT_FIELD_VALID"
#define PilatusGapFillString   "GAP_FILL"
#define PilatusWavelengthString   "WAVELENGTH"
#define PilatusEnergyLowString   "ENERGY_LOW"
#define PilatusEnergyHighString   "ENERGY_HIGH"
#define PilatusDetDistString   "DET_DIST"
#define PilatusDetVOffsetString   "DET_VOFFSET"
#define PilatusBeamXString   "BEAM_X"
#define PilatusBeamYString   "BEAM_Y"
#define PilatusFluxString   "FLUX"
#define PilatusFilterTransmString   "FILTER_TRANSM"
#define PilatusStartAngleString   "START_ANGLE"
#define PilatusAngleIncrString   "ANGLE_INCR"
#define PilatusDet2thetaString   "DET_2THETA"
#define PilatusPolarizationString   "POLARIZATION"
#define PilatusAlphaString   "ALPHA"
#define PilatusKappaString   "KAPPA"
#define PilatusPhiString   "PHI"
#define PilatusChiString   "CHI"
#define PilatusOscillAxisString   "OSCILL_AXIS"
#define PilatusNumOscillString   "NUM_OSCILL"
#define FIRST_PILATUS_PARAM   PilatusDelayTime
#define LAST_PILATUS_PARAM   PilatusNumOscill
#define NUM_PILATUS_PARAMS   (&LAST_PILATUS_PARAM - &FIRST_PILATUS_PARAM + 1)

Enumerations

enum  PilatusTriggerMode {
  TMInternal, TMExternalEnable, TMExternalTrigger, TMMultipleExternalTrigger,
  TMAlignment
}
 Trigger modes. More...

Functions

int pilatusDetectorConfig (const char *portName, const char *camserverPort, int maxSizeX, int maxSizeY, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 epicsExportRegistrar (pilatusDetectorRegister)

Define Documentation

#define ASYN_POLL_TIME   .01

Time to poll when reading from camserver.

#define CAMSERVER_DEFAULT_TIMEOUT   1.0

#define FILE_READ_DELAY   .01

Time between checking to see if image file is complete.

#define FIRST_PILATUS_PARAM   PilatusDelayTime

#define LAST_PILATUS_PARAM   PilatusNumOscill

#define MAX_BAD_PIXELS   100

#define MAX_FILENAME_LEN   256

#define MAX_MESSAGE_SIZE   256

Messages to/from camserver.

#define NUM_PILATUS_PARAMS   (&LAST_PILATUS_PARAM - &FIRST_PILATUS_PARAM + 1)

#define PilatusAlphaString   "ALPHA"

#define PilatusAngleIncrString   "ANGLE_INCR"

#define PilatusArmedString   "ARMED"

#define PilatusBadPixelFileString   "BAD_PIXEL_FILE"

#define PilatusBeamXString   "BEAM_X"

#define PilatusBeamYString   "BEAM_Y"

#define PilatusChiString   "CHI"

#define PilatusDelayTimeString   "DELAY_TIME"

#define PilatusDet2thetaString   "DET_2THETA"

#define PilatusDetDistString   "DET_DIST"

#define PilatusDetVOffsetString   "DET_VOFFSET"

#define PilatusEnergyHighString   "ENERGY_HIGH"

#define PilatusEnergyLowString   "ENERGY_LOW"

#define PilatusFilterTransmString   "FILTER_TRANSM"

#define PilatusFlatFieldFileString   "FLAT_FIELD_FILE"

#define PilatusFlatFieldValidString   "FLAT_FIELD_VALID"

#define PilatusFluxString   "FLUX"

#define PilatusGapFillString   "GAP_FILL"

#define PilatusImageFileTmotString   "IMAGE_FILE_TMOT"

#define PilatusKappaString   "KAPPA"

#define PilatusMinFlatFieldString   "MIN_FLAT_FIELD"

#define PilatusNumBadPixelsString   "NUM_BAD_PIXELS"

#define PilatusNumOscillString   "NUM_OSCILL"

#define PilatusOscillAxisString   "OSCILL_AXIS"

#define PilatusPhiString   "PHI"

#define PilatusPolarizationString   "POLARIZATION"

#define PilatusStartAngleString   "START_ANGLE"

#define PilatusThresholdApplyString   "THRESHOLD_APPLY"

#define PilatusThresholdAutoApplyString   "THRESHOLD_AUTO_APPLY"

#define PilatusThresholdString   "THRESHOLD"

#define PilatusWavelengthString   "WAVELENGTH"


Enumeration Type Documentation

Trigger modes.

Enumerator:
TMInternal 
TMExternalEnable 
TMExternalTrigger 
TMMultipleExternalTrigger 
TMAlignment 


Function Documentation

epicsExportRegistrar ( pilatusDetectorRegister   ) 

int pilatusDetectorConfig ( const char *  portName,
const char *  camserverPort,
int  maxSizeX,
int  maxSizeY,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)


Generated on Tue Aug 9 14:44:37 2011 for areaDetector by  doxygen 1.5.7.1