areaDetector 1-8
Classes | Defines | Enumerations | Functions
/home/epics/devel/areaDetector/ADApp/roperSrc/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 <epicsExport.h>
#include "ADDriver.h"
#include "stdafx.h"
#include "CWinx32App20.h"
#include "CExpSetup20.h"
#include "CDocFile40.h"
#include "CROIRect0.h"

Classes

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

Defines

#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:
#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.
#define RoperShutterModeString   "ROPER_SHUTTER_MODE"
 Driver-specific parameters for the Roper driver.
#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   (&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)

Define Documentation

#define ERROR_MESSAGE_SIZE   256
#define FIRST_ROPER_PARAM   RoperShutterMode
#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
#define LAST_ROPER_PARAM   RoperComment5
#define MAX_COMMENT_SIZE   80
#define NUM_ROPER_PARAMS   (&LAST_ROPER_PARAM - &FIRST_ROPER_PARAM + 1)
#define ROPER_POLL_TIME   .01

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

#define RoperAutoDataTypeString   "AUTO_DATA_TYPE"
#define RoperComment1String   "COMMENT1"
#define RoperComment2String   "COMMENT2"
#define RoperComment3String   "COMMENT3"
#define RoperComment4String   "COMMENT4"
#define RoperComment5String   "COMMENT5"
#define RoperNumAcquisitionsCounterString   "ROPER_NACQUISITIONS_COUNTER"
#define RoperNumAcquisitionsString   "ROPER_NACQUISITIONS"
#define RoperShutterModeString   "ROPER_SHUTTER_MODE"

Driver-specific parameters for the Roper driver.


Enumeration Type Documentation

Enumerator:
RoperImageNormal 
RoperImageContinuous 
RoperImageFocus 
Enumerator:
RoperShutterNormal 
RoperShutterClosed 
RoperShutterOpen 

Function Documentation

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