areaDetector  3-13
EPICS areaDetector framework
Classes | Macros | Enumerations | Functions
roper.cpp File Reference
#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <math.h>
#include <stdio.h>
#include <errno.h>
#include <string.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 "ADDriver.h"
#include "stdafx.h"
#include "CWinx32App20.h"
#include "CExpSetup20.h"
#include "CDocFile40.h"
#include "CROIRect0.h"
#include <epicsExport.h>

Classes

class  roper
 Driver for Roper (Princeton Instrument and Photometrics) cameras using the COM interface to WinView or WinSpec. More...
 

Macros

#define INITIALIZE_COM   CoInitializeEx(NULL, 0)
 The following macro initializes COM for the default COINIT_MULTITHREADED model This needs to be done in each thread that can call the COM interfaces These threads are: More...
 
#define ERROR_MESSAGE_SIZE   256
 
#define MAX_COMMENT_SIZE   80
 
#define ROPER_POLL_TIME   .01
 The polling interval when checking to see if acquisition is complete. More...
 
#define RoperShutterModeString   "ROPER_SHUTTER_MODE"
 Driver-specific parameters for the Roper driver. More...
 
#define RoperNumAcquisitionsString   "ROPER_NACQUISITIONS"
 
#define RoperNumAcquisitionsCounterString   "ROPER_NACQUISITIONS_COUNTER"
 
#define RoperAutoDataTypeString   "AUTO_DATA_TYPE"
 
#define RoperComment1String   "COMMENT1"
 
#define RoperComment2String   "COMMENT2"
 
#define RoperComment3String   "COMMENT3"
 
#define RoperComment4String   "COMMENT4"
 
#define RoperComment5String   "COMMENT5"
 
#define FIRST_ROPER_PARAM   RoperShutterMode
 
#define LAST_ROPER_PARAM   RoperComment5
 
#define NUM_ROPER_PARAMS   ((int)(&LAST_ROPER_PARAM - &FIRST_ROPER_PARAM + 1))
 

Enumerations

enum  RoperImageMode_t { RoperImageNormal , RoperImageContinuous , RoperImageFocus }
 
enum  RoperShutterMode_t { RoperShutterNormal , RoperShutterClosed , RoperShutterOpen }
 

Functions

BSTR stringToBSTR (char *str)
 
int roperConfig (const char *portName, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 
 epicsExportRegistrar (roperRegister)
 

Macro Definition Documentation

◆ ERROR_MESSAGE_SIZE

#define ERROR_MESSAGE_SIZE   256

◆ FIRST_ROPER_PARAM

#define FIRST_ROPER_PARAM   RoperShutterMode

◆ INITIALIZE_COM

#define INITIALIZE_COM   CoInitializeEx(NULL, 0)

The following macro initializes COM for the default COINIT_MULTITHREADED model This needs to be done in each thread that can call the COM interfaces These threads are:

  • The thread that runs when the roper object is created (typically from st.cmd)
  • The roperTask thread that controls acquisition
  • The port driver thread that sets parameters

◆ LAST_ROPER_PARAM

#define LAST_ROPER_PARAM   RoperComment5

◆ MAX_COMMENT_SIZE

#define MAX_COMMENT_SIZE   80

◆ NUM_ROPER_PARAMS

#define NUM_ROPER_PARAMS   ((int)(&LAST_ROPER_PARAM - &FIRST_ROPER_PARAM + 1))

◆ ROPER_POLL_TIME

#define ROPER_POLL_TIME   .01

The polling interval when checking to see if acquisition is complete.

◆ RoperAutoDataTypeString

#define RoperAutoDataTypeString   "AUTO_DATA_TYPE"

◆ RoperComment1String

#define RoperComment1String   "COMMENT1"

◆ RoperComment2String

#define RoperComment2String   "COMMENT2"

◆ RoperComment3String

#define RoperComment3String   "COMMENT3"

◆ RoperComment4String

#define RoperComment4String   "COMMENT4"

◆ RoperComment5String

#define RoperComment5String   "COMMENT5"

◆ RoperNumAcquisitionsCounterString

#define RoperNumAcquisitionsCounterString   "ROPER_NACQUISITIONS_COUNTER"

◆ RoperNumAcquisitionsString

#define RoperNumAcquisitionsString   "ROPER_NACQUISITIONS"

◆ RoperShutterModeString

#define RoperShutterModeString   "ROPER_SHUTTER_MODE"

Driver-specific parameters for the Roper driver.

Enumeration Type Documentation

◆ RoperImageMode_t

Enumerator
RoperImageNormal 
RoperImageContinuous 
RoperImageFocus 

◆ RoperShutterMode_t

Enumerator
RoperShutterNormal 
RoperShutterClosed 
RoperShutterOpen 

Function Documentation

◆ epicsExportRegistrar()

epicsExportRegistrar ( roperRegister  )

◆ roperConfig()

int roperConfig ( const char *  portName,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)

◆ stringToBSTR()

BSTR stringToBSTR ( char *  str)