areaDetector
3-14
EPICS areaDetector framework
|
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <libgen.h>
#include <epicsAssert.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsEvent.h>
#include <epicsString.h>
#include <epicsStdio.h>
#include <epicsMutex.h>
#include <cantProceed.h>
#include <iocsh.h>
#include <epicsExport.h>
#include "ADDriver.h"
#include <detcon_entry.h>
#include <detcon_par.h>
#include <detcon_state.h>
Classes | |
struct | AdscSensor_t |
ADSC sensor structure. More... | |
class | adsc |
Driver for ADSC detectors (Q4, Q4r, Q210, Q210r, Q270, Q315, Q315r). More... | |
Macros | |
#define | ADSC_CCD_INITIALIZE_SLEEP_TIME 0.5 |
#define | ADSC_CCD_INITIALIZE_TIMEOUT 10.0 |
#define | PATH_COMPONENT_SEPARATOR "/" |
#define | START_EXPOSURE_TIMEOUT 30.0 |
#define | STOP_EXPOSURE_TIMEOUT 10.0 |
#define | STATE_POLL_DELAY 0.05 |
#define | NUM_ADSC_MODELS |
#define | NUM_ADSC_CCD_STATES |
#define | AdscReadConditionString "ADSC_READ_CONDITION" |
Driver-specific parameters for the ADSC driver. More... | |
#define | AdscStateString "ADSC_STATE" |
#define | AdscStatusString "ADSC_STATUS" |
#define | AdscLastErrorString "ADSC_LAST_ERROR" |
#define | AdscSoftwareResetString "ADSC_SOFTWARE_RESET" |
#define | AdscLastImageString "ADSC_LAST_IMAGE" |
#define | AdscOkToExposeString "ADSC_OK_TO_EXPOSE" |
#define | AdscExternSwTriggerControlString "ADSC_EXTERN_SW_TRIGGER_CTRL" |
#define | AdscReuseDarksString "ADSC_REUSE_DARKS" |
#define | AdscDezingerString "ADSC_DEZINGER" |
#define | AdscAdcString "ADSC_ADC" |
#define | AdscRawString "ADSC_RAW" |
#define | AdscImageTransformString "ADSC_IMAGE_TRANSFORM" |
#define | AdscStoredDarksString "ADSC_STORED_DARKS" |
#define | AdscBeamCenterXString "ADSC_BEAM_CENTER_X" |
#define | AdscBeamCenterYString "ADSC_BEAM_CENTER_Y" |
#define | AdscDistanceString "ADSC_DISTANCE" |
#define | AdscTwoThetaString "ADSC_TWO_THETA" |
#define | AdscAxisString "ADSC_AXIS" |
#define | AdscWavelengthString "ADSC_WAVELENGTH" |
#define | AdscImageWidthString "ADSC_IMAGE_WIDTH" |
#define | AdscPhiString "ADSC_PHI" |
#define | AdscOmegaString "ADSC_OMEGA" |
#define | AdscPrivateStopExpRetryCntString "ADSC_PRVT_STOP_EXP_RTRY_CNT" |
#define | AdscKappaString "ADSC_KAPPA" |
#define | FIRST_ADSC_PARAM AdscReadCondition |
#define | LAST_ADSC_PARAM AdscPrivateStopExpRetryCnt |
#define | NUM_ADSC_PARAMS ((int)(&LAST_ADSC_PARAM - &FIRST_ADSC_PARAM + 1)) |
Typedefs | |
typedef struct AdscSensor_t | AdscSensor_t |
ADSC sensor structure. More... | |
Enumerations | |
enum | AdscStatus_t { AdscStatusOk , AdscStatusInterrupt , AdscStatusTimeout , AdscStatusAgain , AdscStatusError } |
Status choices. More... | |
enum | AdscExternSwTriggerControl_t { AdscExternSwTriggerControlStop , AdscExternSwTriggerControlStart , AdscExternSwTriggerControlOk , AdscExternSwTriggerControlAgain } |
Trigger choices. More... | |
enum | AdscModel_t { AdscQ4 , AdscQ4r , AdscQ210 , AdscQ210r , AdscQ270 , AdscQ315 , AdscQ315r } |
Model choices. More... | |
enum | AdscTriggerStartMode_t { AdscTriggerStartInternal , AdscTriggerStartExternSw , NUM_START_TRIGGER_MODES } |
These parameters describe the trigger modes of this driver; they must agree with the values in the mbbo/mbbi records in the adsc.template database (or the ADBase.template database if the default is used) More... | |
Functions | |
int | adscConfig (const char *portName, const char *modelName) |
epicsExportRegistrar (adscRegister) | |
#define ADSC_CCD_INITIALIZE_SLEEP_TIME 0.5 |
#define ADSC_CCD_INITIALIZE_TIMEOUT 10.0 |
#define AdscAdcString "ADSC_ADC" |
#define AdscAxisString "ADSC_AXIS" |
#define AdscBeamCenterXString "ADSC_BEAM_CENTER_X" |
#define AdscBeamCenterYString "ADSC_BEAM_CENTER_Y" |
#define AdscDezingerString "ADSC_DEZINGER" |
#define AdscDistanceString "ADSC_DISTANCE" |
#define AdscExternSwTriggerControlString "ADSC_EXTERN_SW_TRIGGER_CTRL" |
#define AdscImageTransformString "ADSC_IMAGE_TRANSFORM" |
#define AdscImageWidthString "ADSC_IMAGE_WIDTH" |
#define AdscKappaString "ADSC_KAPPA" |
#define AdscLastErrorString "ADSC_LAST_ERROR" |
#define AdscLastImageString "ADSC_LAST_IMAGE" |
#define AdscOkToExposeString "ADSC_OK_TO_EXPOSE" |
#define AdscOmegaString "ADSC_OMEGA" |
#define AdscPhiString "ADSC_PHI" |
#define AdscPrivateStopExpRetryCntString "ADSC_PRVT_STOP_EXP_RTRY_CNT" |
#define AdscRawString "ADSC_RAW" |
#define AdscReadConditionString "ADSC_READ_CONDITION" |
Driver-specific parameters for the ADSC driver.
#define AdscReuseDarksString "ADSC_REUSE_DARKS" |
#define AdscSoftwareResetString "ADSC_SOFTWARE_RESET" |
#define AdscStateString "ADSC_STATE" |
#define AdscStatusString "ADSC_STATUS" |
#define AdscStoredDarksString "ADSC_STORED_DARKS" |
#define AdscTwoThetaString "ADSC_TWO_THETA" |
#define AdscWavelengthString "ADSC_WAVELENGTH" |
#define FIRST_ADSC_PARAM AdscReadCondition |
#define LAST_ADSC_PARAM AdscPrivateStopExpRetryCnt |
#define NUM_ADSC_CCD_STATES |
#define NUM_ADSC_MODELS |
#define NUM_ADSC_PARAMS ((int)(&LAST_ADSC_PARAM - &FIRST_ADSC_PARAM + 1)) |
#define PATH_COMPONENT_SEPARATOR "/" |
#define START_EXPOSURE_TIMEOUT 30.0 |
#define STATE_POLL_DELAY 0.05 |
#define STOP_EXPOSURE_TIMEOUT 10.0 |
typedef struct AdscSensor_t AdscSensor_t |
ADSC sensor structure.
enum AdscModel_t |
enum AdscStatus_t |
int adscConfig | ( | const char * | portName, |
const char * | modelName | ||
) |
epicsExportRegistrar | ( | adscRegister | ) |