areaDetector
3-13
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 <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... | |
Macros | |
#define | DRIVER_VERSION 2 |
#define | DRIVER_REVISION 9 |
#define | DRIVER_MODIFICATION 0 |
#define | MAX_MESSAGE_SIZE 256 |
Messages to/from camserver. More... | |
#define | MAX_FILENAME_LEN 256 |
#define | MAX_HEADER_STRING_LEN 68 |
#define | MAX_BAD_PIXELS 100 |
#define | ASYN_POLL_TIME .01 |
Time to poll when reading from camserver. More... | |
#define | CAMSERVER_DEFAULT_TIMEOUT 1.0 |
#define | CAMSERVER_ACQUIRE_TIMEOUT 10. |
Additional time to wait for a camserver response after the acquire should be complete. More... | |
#define | CAMSERVER_RESET_POWER_TIMEOUT 30. |
#define | FILE_READ_DELAY .01 |
Time between checking to see if image file is complete. More... | |
#define | PilatusDelayTimeString "DELAY_TIME" |
#define | PilatusThresholdString "THRESHOLD" |
#define | PilatusThresholdApplyString "THRESHOLD_APPLY" |
#define | PilatusThresholdAutoApplyString "THRESHOLD_AUTO_APPLY" |
#define | PilatusEnergyString "ENERGY" |
#define | PilatusArmedString "ARMED" |
#define | PilatusResetPowerString "RESET_POWER" |
#define | PilatusResetPowerTimeString "RESET_POWER_TIME" |
#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 | PilatusPhiIncrString "PHI_INCR" |
#define | PilatusChiString "CHI" |
#define | PilatusChiIncrString "CHI_INCR" |
#define | PilatusOmegaString "OMEGA" |
#define | PilatusOmegaIncrString "OMEGA_INCR" |
#define | PilatusOscillAxisString "OSCILL_AXIS" |
#define | PilatusNumOscillString "NUM_OSCILL" |
#define | PilatusPixelCutOffString "PIXEL_CUTOFF" |
#define | PilatusThTemp0String "TH_TEMP_0" |
#define | PilatusThTemp1String "TH_TEMP_1" |
#define | PilatusThTemp2String "TH_TEMP_2" |
#define | PilatusThHumid0String "TH_HUMID_0" |
#define | PilatusThHumid1String "TH_HUMID_1" |
#define | PilatusThHumid2String "TH_HUMID_2" |
#define | PilatusTvxVersionString "TVXVERSION" |
#define | PilatusCbfTemplateFileString "CBFTEMPLATEFILE" |
#define | PilatusHeaderStringString "HEADERSTRING" |
#define | FIRST_PILATUS_PARAM PilatusDelayTime |
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 ASYN_POLL_TIME .01 |
Time to poll when reading from camserver.
#define CAMSERVER_ACQUIRE_TIMEOUT 10. |
Additional time to wait for a camserver response after the acquire should be complete.
#define CAMSERVER_DEFAULT_TIMEOUT 1.0 |
#define CAMSERVER_RESET_POWER_TIMEOUT 30. |
#define DRIVER_MODIFICATION 0 |
#define DRIVER_REVISION 9 |
#define DRIVER_VERSION 2 |
#define FILE_READ_DELAY .01 |
Time between checking to see if image file is complete.
#define FIRST_PILATUS_PARAM PilatusDelayTime |
#define MAX_BAD_PIXELS 100 |
#define MAX_FILENAME_LEN 256 |
#define MAX_HEADER_STRING_LEN 68 |
#define MAX_MESSAGE_SIZE 256 |
Messages to/from camserver.
#define PilatusAlphaString "ALPHA" |
#define PilatusAngleIncrString "ANGLE_INCR" |
#define PilatusArmedString "ARMED" |
#define PilatusBadPixelFileString "BAD_PIXEL_FILE" |
#define PilatusBeamXString "BEAM_X" |
#define PilatusBeamYString "BEAM_Y" |
#define PilatusCbfTemplateFileString "CBFTEMPLATEFILE" |
#define PilatusChiIncrString "CHI_INCR" |
#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 PilatusEnergyString "ENERGY" |
#define PilatusFilterTransmString "FILTER_TRANSM" |
#define PilatusFlatFieldFileString "FLAT_FIELD_FILE" |
#define PilatusFlatFieldValidString "FLAT_FIELD_VALID" |
#define PilatusFluxString "FLUX" |
#define PilatusGapFillString "GAP_FILL" |
#define PilatusHeaderStringString "HEADERSTRING" |
#define PilatusImageFileTmotString "IMAGE_FILE_TMOT" |
#define PilatusKappaString "KAPPA" |
#define PilatusMinFlatFieldString "MIN_FLAT_FIELD" |
#define PilatusNumBadPixelsString "NUM_BAD_PIXELS" |
#define PilatusNumOscillString "NUM_OSCILL" |
#define PilatusOmegaIncrString "OMEGA_INCR" |
#define PilatusOmegaString "OMEGA" |
#define PilatusOscillAxisString "OSCILL_AXIS" |
#define PilatusPhiIncrString "PHI_INCR" |
#define PilatusPhiString "PHI" |
#define PilatusPixelCutOffString "PIXEL_CUTOFF" |
#define PilatusPolarizationString "POLARIZATION" |
#define PilatusResetPowerString "RESET_POWER" |
#define PilatusResetPowerTimeString "RESET_POWER_TIME" |
#define PilatusStartAngleString "START_ANGLE" |
#define PilatusThHumid0String "TH_HUMID_0" |
#define PilatusThHumid1String "TH_HUMID_1" |
#define PilatusThHumid2String "TH_HUMID_2" |
#define PilatusThresholdApplyString "THRESHOLD_APPLY" |
#define PilatusThresholdAutoApplyString "THRESHOLD_AUTO_APPLY" |
#define PilatusThresholdString "THRESHOLD" |
#define PilatusThTemp0String "TH_TEMP_0" |
#define PilatusThTemp1String "TH_TEMP_1" |
#define PilatusThTemp2String "TH_TEMP_2" |
#define PilatusTvxVersionString "TVXVERSION" |
#define PilatusWavelengthString "WAVELENGTH" |
enum PilatusTriggerMode |
epicsExportRegistrar | ( | pilatusDetectorRegister | ) |
int pilatusDetectorConfig | ( | const char * | portName, |
const char * | camserverPort, | ||
int | maxSizeX, | ||
int | maxSizeY, | ||
int | maxBuffers, | ||
size_t | maxMemory, | ||
int | priority, | ||
int | stackSize | ||
) |