/home/epics/devel/areaDetector/1-5/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:
  • 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 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 NUM_ROPER_PARAMS   (sizeof(RoperParamString)/sizeof(RoperParamString[0]))

Enumerations

enum  RoperImageMode_t { RoperImageNormal, RoperImageContinuous, RoperImageFocus }
enum  RoperShutterMode_t { RoperShutterNormal, RoperShutterClosed, RoperShutterOpen }
enum  RoperParam_t {
  RoperShutterMode = ADLastStdParam, RoperNumAcquisitions, RoperNumAcquisitionsCounter, RoperAutoDataType,
  RoperComment1, RoperComment2, RoperComment3, RoperComment4,
  RoperComment5, ADLastDriverParam
}
 Driver-specific parameters for the Roper driver. More...

Functions

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

Define Documentation

#define ERROR_MESSAGE_SIZE   256

#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 MAX_COMMENT_SIZE   80

#define NUM_ROPER_PARAMS   (sizeof(RoperParamString)/sizeof(RoperParamString[0]))

#define ROPER_POLL_TIME   .01

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


Enumeration Type Documentation

Enumerator:
RoperImageNormal 
RoperImageContinuous 
RoperImageFocus 

Driver-specific parameters for the Roper driver.

Enumerator:
RoperShutterMode 
RoperNumAcquisitions 
RoperNumAcquisitionsCounter 
RoperAutoDataType 
RoperComment1 
RoperComment2 
RoperComment3 
RoperComment4 
RoperComment5 
ADLastDriverParam 

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,
int  maxSize 
)


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