areaDetector  3-13
EPICS areaDetector framework
Classes | Macros | Enumerations | Functions
andor3.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
#include <sstream>
#include <epicsEvent.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <iocsh.h>
#include <epicsString.h>
#include <epicsExit.h>
#include <atcore.h>
#include "ADDriver.h"
#include <epicsExport.h>

Classes

struct  featureInfo
 
class  andor3
 Driver for Andor sCMOS cameras using version 3 of their SDK; inherits from ADDriver class in ADCore. More...
 

Macros

#define MAX_FEATURE_NAME_LEN   64
 
#define FIRST_ANDOR3_PARAM   Andor3FrameRate
 
#define LAST_ANDOR3_PARAM   Andor3MCPIntelligate
 
#define NUM_ANDOR3_PARAMS   ((int)(&LAST_ANDOR3_PARAM - &FIRST_ANDOR3_PARAM + 1))
 
#define Andor3FrameRateString   "A3_FRAME_RATE" /* asynFloat64 rw */
 
#define Andor3PixelEncodingString   "A3_PIXEL_ENCODING" /* asynInt32 rw */
 
#define Andor3FullAOIControlString   "A3_FULL_AOI_CONTROL" /* asynInt32 ro */
 
#define Andor3BinningString   "A3_BINNING" /* asynInt32 rw */
 
#define Andor3ShutterModeString   "A3_SHUTTER_MODE" /* asynInt32 rw */
 
#define Andor3SoftwareTriggerString   "A3_SOFTWARE_TRIGGER" /* asynInt32 wo */
 
#define Andor3SensorCoolingString   "A3_SENSOR_COOLING" /* asynInt32 rw */
 
#define Andor3TempControlString   "A3_TEMP_CONTROL" /* asynInt32 rw */
 
#define Andor3TempStatusString   "A3_TEMP_STATUS" /* asynInt32 ro */
 
#define Andor3SerialNumberString   "A3_SERIAL_NUMBER" /* asynOctet ro */
 
#define Andor3FirmwareVersionString   "A3_FIRMWARE_VERSION" /* asynOctet ro */
 
#define Andor3SoftwareVersionString   "A3_SOFTWARE_VERSION" /* asynOctet ro */
 
#define Andor3ControllerIDString   "A3_CONTROLLER_ID" /* asynOctet ro */
 
#define Andor3OverlapString   "A3_OVERLAP" /* asynInt32 rw */
 
#define Andor3ReadoutRateString   "A3_READOUT_RATE" /* asynInt32 rw */
 
#define Andor3ReadoutTimeString   "A3_READOUT_TIME" /* asynFloat64 rw */
 
#define Andor3TransferRateString   "A3_TRANSFER_RATE" /* asynFloat64 rw */
 
#define Andor3PreAmpGainString   "A3_PREAMP_GAIN" /* asynInt32 rw */
 
#define Andor3NoiseFilterString   "A3_NOISE_FILTER" /* asynInt32 rw */
 
#define Andor3FanSpeedString   "A3_FAN_SPEED" /* asynInt32 rw */
 
#define Andor3GateModeString   "A3_GATE_MODE" /* asynInt32 rw */
 
#define Andor3InsertionDelayString   "A3_INSERTION_DELAY" /* asynInt32 rw */
 
#define Andor3MCPGainString   "A3_MCP_GAIN" /* asynInt32 rw */
 
#define Andor3MCPIntelligateString   "A3_MCP_INTELLIGATE" /* asynInt32 rw */
 

Enumerations

enum  Andor3FeatureType {
  ATint , ATfloat , ATbool , ATenum ,
  ATstring , ATcommand
}
 

Functions

int andor3Config (const char *portName, const char *cameraSerial, int maxBuffers, size_t maxMemory, int priority, int stackSize, int maxFrames)
 
 epicsExportRegistrar (andor3Register)
 

Macro Definition Documentation

◆ Andor3BinningString

#define Andor3BinningString   "A3_BINNING" /* asynInt32 rw */

◆ Andor3ControllerIDString

#define Andor3ControllerIDString   "A3_CONTROLLER_ID" /* asynOctet ro */

◆ Andor3FanSpeedString

#define Andor3FanSpeedString   "A3_FAN_SPEED" /* asynInt32 rw */

◆ Andor3FirmwareVersionString

#define Andor3FirmwareVersionString   "A3_FIRMWARE_VERSION" /* asynOctet ro */

◆ Andor3FrameRateString

#define Andor3FrameRateString   "A3_FRAME_RATE" /* asynFloat64 rw */

◆ Andor3FullAOIControlString

#define Andor3FullAOIControlString   "A3_FULL_AOI_CONTROL" /* asynInt32 ro */

◆ Andor3GateModeString

#define Andor3GateModeString   "A3_GATE_MODE" /* asynInt32 rw */

◆ Andor3InsertionDelayString

#define Andor3InsertionDelayString   "A3_INSERTION_DELAY" /* asynInt32 rw */

◆ Andor3MCPGainString

#define Andor3MCPGainString   "A3_MCP_GAIN" /* asynInt32 rw */

◆ Andor3MCPIntelligateString

#define Andor3MCPIntelligateString   "A3_MCP_INTELLIGATE" /* asynInt32 rw */

◆ Andor3NoiseFilterString

#define Andor3NoiseFilterString   "A3_NOISE_FILTER" /* asynInt32 rw */

◆ Andor3OverlapString

#define Andor3OverlapString   "A3_OVERLAP" /* asynInt32 rw */

◆ Andor3PixelEncodingString

#define Andor3PixelEncodingString   "A3_PIXEL_ENCODING" /* asynInt32 rw */

◆ Andor3PreAmpGainString

#define Andor3PreAmpGainString   "A3_PREAMP_GAIN" /* asynInt32 rw */

◆ Andor3ReadoutRateString

#define Andor3ReadoutRateString   "A3_READOUT_RATE" /* asynInt32 rw */

◆ Andor3ReadoutTimeString

#define Andor3ReadoutTimeString   "A3_READOUT_TIME" /* asynFloat64 rw */

◆ Andor3SensorCoolingString

#define Andor3SensorCoolingString   "A3_SENSOR_COOLING" /* asynInt32 rw */

◆ Andor3SerialNumberString

#define Andor3SerialNumberString   "A3_SERIAL_NUMBER" /* asynOctet ro */

◆ Andor3ShutterModeString

#define Andor3ShutterModeString   "A3_SHUTTER_MODE" /* asynInt32 rw */

◆ Andor3SoftwareTriggerString

#define Andor3SoftwareTriggerString   "A3_SOFTWARE_TRIGGER" /* asynInt32 wo */

◆ Andor3SoftwareVersionString

#define Andor3SoftwareVersionString   "A3_SOFTWARE_VERSION" /* asynOctet ro */

◆ Andor3TempControlString

#define Andor3TempControlString   "A3_TEMP_CONTROL" /* asynInt32 rw */

◆ Andor3TempStatusString

#define Andor3TempStatusString   "A3_TEMP_STATUS" /* asynInt32 ro */

◆ Andor3TransferRateString

#define Andor3TransferRateString   "A3_TRANSFER_RATE" /* asynFloat64 rw */

◆ FIRST_ANDOR3_PARAM

#define FIRST_ANDOR3_PARAM   Andor3FrameRate

◆ LAST_ANDOR3_PARAM

#define LAST_ANDOR3_PARAM   Andor3MCPIntelligate

◆ MAX_FEATURE_NAME_LEN

#define MAX_FEATURE_NAME_LEN   64

◆ NUM_ANDOR3_PARAMS

#define NUM_ANDOR3_PARAMS   ((int)(&LAST_ANDOR3_PARAM - &FIRST_ANDOR3_PARAM + 1))

Enumeration Type Documentation

◆ Andor3FeatureType

Enumerator
ATint 
ATfloat 
ATbool 
ATenum 
ATstring 
ATcommand 

Function Documentation

◆ andor3Config()

int andor3Config ( const char *  portName,
const char *  cameraSerial,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize,
int  maxFrames 
)

◆ epicsExportRegistrar()

epicsExportRegistrar ( andor3Register  )