areaDetector  3-3
EPICS areaDetector framework
Classes | Macros | Enumerations | Functions
pixiradLV.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 <ctype.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsEvent.h>
#include <epicsString.h>
#include <epicsStdio.h>
#include <epicsMutex.h>
#include <iocsh.h>
#include <epicsExport.h>
#include <asynOctetSyncIO.h>
#include "ADDriver.h"

Classes

class  pixiradLV
 Driver for PiXirad pixel array detectors using their server server over TCP/IP socket. More...
 

Macros

#define MAX_MESSAGE_SIZE   256
 Messages to/from server. More...
 
#define MAX_FILENAME_LEN   256
 
#define ASYN_POLL_TIME   .01
 Time to poll when reading from server. More...
 
#define SERVER_DEFAULT_TIMEOUT   1.0
 
#define SERVER_ACQUIRE_TIMEOUT   10.
 Additional time to wait for a server response after the acquire should be complete. More...
 
#define FILE_READ_DELAY   .01
 Time between checking to see if image file is complete. More...
 
#define PixiradCollectionModeString   "COLLECTION_MODE"
 
#define PixiradSaveDataString   "SAVE_DATA"
 
#define PixiradThreshold1String   "THRESHOLD1"
 
#define PixiradThreshold2String   "THRESHOLD2"
 
#define PixiradThreshold3String   "THRESHOLD3"
 
#define PixiradThreshold4String   "THRESHOLD4"
 
#define PixiradHVValueString   "HV_VALUE"
 
#define PixiradHVStateString   "HV_STATE"
 
#define PixiradHVModeString   "HV_MODE"
 
#define PixiradHVDelayString   "HV_DELAY"
 
#define PixiradSyncInPolarityString   "SYNC_IN_POLARITY"
 
#define PixiradSyncOutPolarityString   "SYNC_OUT_POLARITY"
 
#define PixiradDownloadSpeedString   "DOWNLOAD_SPEED"
 
#define PixiradImageFileTmotString   "IMAGE_FILE_TMOT"
 
#define PixiradCoolingStateString   "COOLING_STATE"
 
#define PixiradHotTemperatureString   "HOT_TEMPERATURE"
 
#define PixiradBoxTemperatureString   "BOX_TEMPERATURE"
 
#define PixiradBoxHumidityString   "BOX_HUMIDITY"
 
#define PixiradPeltierPowerString   "PELTIER_POWER"
 
#define FIRST_PIXIRAD_PARAM   PixiradCollectionMode
 
#define LAST_PIXIRAD_PARAM   PixiradPeltierPower
 
#define NUM_PIXIRAD_PARAMS   ((int)(&LAST_PIXIRAD_PARAM - &FIRST_PIXIRAD_PARAM + 1))
 

Enumerations

enum  PixiradSaveDataState_t { SaveDataOff, SaveDataOn }
 Save data. More...
 
enum  PixiradTriggerMode_t {
  TMInternal, TMExternal, TMBulb, TMInternal,
  TMExternal, TMBulb
}
 Trigger modes. More...
 
enum  PixiradCoolingState_t { CoolingOff, CoolingOn, CoolingOff, CoolingOn }
 Cooling state. More...
 
enum  PixiradHVState_t { HVOff, HVOn, HVOff, HVOn }
 High voltage state. More...
 
enum  PixiradHVMode_t { HVManual, HVAuto, HVManual, HVAuto }
 High voltage mode. More...
 
enum  PixiradSyncPolarity_t { SyncPos, SyncNeg, SyncPos, SyncNeg }
 Sync polarity. More...
 
enum  PixiradDownloadSpeed_t { SpeedHigh, SpeedLow }
 Download speed. More...
 
enum  PixiradCollectionMode_t {
  CMOneColorLow, CMOneColorHigh, CMTwoColors, CMFourColors,
  CMOneColorDTF, CMTwoColorsDTF
}
 Collection mode. More...
 

Functions

int pixiradLVConfig (const char *portName, const char *serverPort, int maxSizeX, int maxSizeY, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 
 epicsExportRegistrar (pixiradLVRegister)
 

Macro Definition Documentation

#define ASYN_POLL_TIME   .01

Time to poll when reading from server.

#define FILE_READ_DELAY   .01

Time between checking to see if image file is complete.

#define FIRST_PIXIRAD_PARAM   PixiradCollectionMode
#define LAST_PIXIRAD_PARAM   PixiradPeltierPower
#define MAX_FILENAME_LEN   256
#define MAX_MESSAGE_SIZE   256

Messages to/from server.

#define NUM_PIXIRAD_PARAMS   ((int)(&LAST_PIXIRAD_PARAM - &FIRST_PIXIRAD_PARAM + 1))
#define PixiradBoxHumidityString   "BOX_HUMIDITY"
#define PixiradBoxTemperatureString   "BOX_TEMPERATURE"
#define PixiradCollectionModeString   "COLLECTION_MODE"
#define PixiradCoolingStateString   "COOLING_STATE"
#define PixiradDownloadSpeedString   "DOWNLOAD_SPEED"
#define PixiradHotTemperatureString   "HOT_TEMPERATURE"
#define PixiradHVDelayString   "HV_DELAY"
#define PixiradHVModeString   "HV_MODE"
#define PixiradHVStateString   "HV_STATE"
#define PixiradHVValueString   "HV_VALUE"
#define PixiradImageFileTmotString   "IMAGE_FILE_TMOT"
#define PixiradPeltierPowerString   "PELTIER_POWER"
#define PixiradSaveDataString   "SAVE_DATA"
#define PixiradSyncInPolarityString   "SYNC_IN_POLARITY"
#define PixiradSyncOutPolarityString   "SYNC_OUT_POLARITY"
#define PixiradThreshold1String   "THRESHOLD1"
#define PixiradThreshold2String   "THRESHOLD2"
#define PixiradThreshold3String   "THRESHOLD3"
#define PixiradThreshold4String   "THRESHOLD4"
#define SERVER_ACQUIRE_TIMEOUT   10.

Additional time to wait for a server response after the acquire should be complete.

#define SERVER_DEFAULT_TIMEOUT   1.0

Enumeration Type Documentation

Collection mode.

Enumerator
CMOneColorLow 
CMOneColorHigh 
CMTwoColors 
CMFourColors 
CMOneColorDTF 
CMTwoColorsDTF 

Cooling state.

Enumerator
CoolingOff 
CoolingOn 
CoolingOff 
CoolingOn 

Download speed.

Enumerator
SpeedHigh 
SpeedLow 

High voltage mode.

Enumerator
HVManual 
HVAuto 
HVManual 
HVAuto 

High voltage state.

Enumerator
HVOff 
HVOn 
HVOff 
HVOn 

Save data.

Enumerator
SaveDataOff 
SaveDataOn 

Sync polarity.

Enumerator
SyncPos 
SyncNeg 
SyncPos 
SyncNeg 

Trigger modes.

Enumerator
TMInternal 
TMExternal 
TMBulb 
TMInternal 
TMExternal 
TMBulb 

Function Documentation

epicsExportRegistrar ( pixiradLVRegister  )
int pixiradLVConfig ( const char *  portName,
const char *  serverPort,
int  maxSizeX,
int  maxSizeY,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)