#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 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" |
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 | |||
) |