/home/epics/devel/areaDetector/1-5/ADApp/adscSrc/adsc.cpp File Reference

#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...

Defines

#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 NUM_START_TRIGGER_MODES
#define NUM_ADSC_PARAMS

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 }
 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...
enum  AdscParam_t {
  AdscReadCondition = ADLastStdParam, AdscState, AdscStatus, AdscLastError,
  AdscSoftwareReset, AdscLastImage, AdscOkToExpose, AdscExternSwTriggerControl,
  AdscReuseDarks, AdscDezinger, AdscAdc, AdscRaw,
  AdscImageTransform, AdscStoredDarks, AdscBeamCenterX, AdscBeamCenterY,
  AdscDistance, AdscTwoTheta, AdscAxis, AdscWavelength,
  AdscImageWidth, AdscPhi, AdscOmega, AdscKappa,
  AdscPrivateStopExpRetryCnt, ADLastDriverParam
}
 Driver-specific parameters for the ADSC driver. More...

Functions

int adscConfig (const char *portName, const char *modelName)
 epicsExportRegistrar (adscRegister)

Define Documentation

#define ADSC_CCD_INITIALIZE_SLEEP_TIME   0.5

#define ADSC_CCD_INITIALIZE_TIMEOUT   10.0

#define NUM_ADSC_CCD_STATES

Value:

((int)(sizeof(AdscCcdStateStrings) / \
    sizeof(AdscCcdStateStrings[0])))

#define NUM_ADSC_MODELS

Value:

((int)(sizeof(AdscModelStrings) / \
    sizeof(AdscModelStrings[0])))

#define NUM_ADSC_PARAMS

Value:

((int)(sizeof(AdscParamString) / \
    sizeof(AdscParamString[0])))

#define NUM_START_TRIGGER_MODES

Value:

((int)(sizeof(AdscTriggerStartStrings) / \
    sizeof(AdscTriggerStartStrings[0])))

#define PATH_COMPONENT_SEPARATOR   "/"

#define START_EXPOSURE_TIMEOUT   30.0

#define STATE_POLL_DELAY   0.05

#define STOP_EXPOSURE_TIMEOUT   10.0


Enumeration Type Documentation

Trigger choices.

Enumerator:
AdscExternSwTriggerControlStop 
AdscExternSwTriggerControlStart 
AdscExternSwTriggerControlOk 
AdscExternSwTriggerControlAgain 

Model choices.

Enumerator:
AdscQ4 
AdscQ4r 
AdscQ210 
AdscQ210r 
AdscQ270 
AdscQ315 
AdscQ315r 

Driver-specific parameters for the ADSC driver.

Enumerator:
AdscReadCondition 
AdscState 
AdscStatus 
AdscLastError 
AdscSoftwareReset 
AdscLastImage 
AdscOkToExpose 
AdscExternSwTriggerControl 
AdscReuseDarks 
AdscDezinger 
AdscAdc 
AdscRaw 
AdscImageTransform 
AdscStoredDarks 
AdscBeamCenterX 
AdscBeamCenterY 
AdscDistance 
AdscTwoTheta 
AdscAxis 
AdscWavelength 
AdscImageWidth 
AdscPhi 
AdscOmega 
AdscKappa 
AdscPrivateStopExpRetryCnt 
ADLastDriverParam 

Status choices.

Enumerator:
AdscStatusOk 
AdscStatusInterrupt 
AdscStatusTimeout 
AdscStatusAgain 
AdscStatusError 

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).

Enumerator:
AdscTriggerStartInternal 
AdscTriggerStartExternSw 


Function Documentation

int adscConfig ( const char *  portName,
const char *  modelName 
)

epicsExportRegistrar ( adscRegister   ) 


Generated on Tue Aug 25 16:53:03 2009 for areaDetector by  doxygen 1.5.7.1