/home/epics/devel/areaDetector/ADApp/prosilicaSrc/prosilica.cpp File Reference

#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsEvent.h>
#include <epicsString.h>
#include <epicsStdio.h>
#include <epicsMutex.h>
#include <cantProceed.h>
#include <iocsh.h>
#include <epicsExport.h>
#include <epicsExit.h>
#include "PvApi.h"
#include "ImageLib.h"
#include "ADDriver.h"

Classes

class  prosilica
 Driver for Prosilica GigE and CameraLink cameras using their PvApi library. More...

Defines

#define MAX_FRAMES   2
 Number of frame buffers for PvApi.
#define MAX_PACKET_SIZE   8228
#define FIRST_PS_PARAM   PSReadStatistics
#define LAST_PS_PARAM   PSStrobe1Duration
#define NUM_PS_PARAMS   (&LAST_PS_PARAM - &FIRST_PS_PARAM + 1)
#define NUM_START_TRIGGER_MODES   (int)(sizeof(PSTriggerStartModes) / sizeof(PSTriggerStartModes[0]))
#define NUM_SYNC_OUT_MODES   (int)(sizeof(PSSyncOutModes) / sizeof(PSSyncOutModes[0]))
#define NUM_STROBE_MODES   (int)(sizeof(PSStrobeModes) / sizeof(PSStrobeModes[0]))
#define PSReadStatisticsString   "PS_READ_STATISTICS"
 Driver-specific parameters for the Prosilica driver.
#define PSDriverTypeString   "PS_DRIVER_TYPE"
#define PSFilterVersionString   "PS_FILTER_VERSION"
#define PSFrameRateString   "PS_FRAME_RATE"
#define PSFramesCompletedString   "PS_FRAMES_COMPLETED"
#define PSFramesDroppedString   "PS_FRAMES_DROPPED"
#define PSPacketsErroneousString   "PS_PACKETS_ERRONEOUS"
#define PSPacketsMissedString   "PS_PACKETS_MISSED"
#define PSPacketsReceivedString   "PS_PACKETS_RECEIVED"
#define PSPacketsRequestedString   "PS_PACKETS_REQUESTED"
#define PSPacketsResentString   "PS_PACKETS_RESENT"
#define PSBadFrameCounterString   "PS_BAD_FRAME_COUNTER"
#define PSSyncIn1LevelString   "PS_SYNC_IN_1_LEVEL"
#define PSSyncIn2LevelString   "PS_SYNC_IN_2_LEVEL"
#define PSSyncOut1ModeString   "PS_SYNC_OUT_1_MODE"
#define PSSyncOut1LevelString   "PS_SYNC_OUT_1_LEVEL"
#define PSSyncOut1InvertString   "PS_SYNC_OUT_1_INVERT"
#define PSSyncOut2ModeString   "PS_SYNC_OUT_2_MODE"
#define PSSyncOut2LevelString   "PS_SYNC_OUT_2_LEVEL"
#define PSSyncOut2InvertString   "PS_SYNC_OUT_2_INVERT"
#define PSSyncOut3ModeString   "PS_SYNC_OUT_3_MODE"
#define PSSyncOut3LevelString   "PS_SYNC_OUT_3_LEVEL"
#define PSSyncOut3InvertString   "PS_SYNC_OUT_3_INVERT"
#define PSStrobe1ModeString   "PS_STROBE_1_MODE"
#define PSStrobe1DelayString   "PS_STROBE_1_DELAY"
#define PSStrobe1CtlDurationString   "PS_STROBE_1_CTL_DURATION"
#define PSStrobe1DurationString   "PS_STROBE_1_DURATION"

Enumerations

enum  PSTriggerStartMode_t {
  PSTriggerStartFreeRun, PSTriggerStartSyncIn1, PSTriggerStartSyncIn2, PSTriggerStartSyncIn3,
  PSTriggerStartSyncIn4, PSTriggerStartFixedRate, PSTriggerStartSoftware
}

Functions

int prosilicaConfig (char *portName, int uniqueId, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 epicsExportRegistrar (prosilicaRegister)

Define Documentation

#define FIRST_PS_PARAM   PSReadStatistics

#define LAST_PS_PARAM   PSStrobe1Duration

#define MAX_FRAMES   2

Number of frame buffers for PvApi.

#define MAX_PACKET_SIZE   8228

#define NUM_PS_PARAMS   (&LAST_PS_PARAM - &FIRST_PS_PARAM + 1)

#define NUM_START_TRIGGER_MODES   (int)(sizeof(PSTriggerStartModes) / sizeof(PSTriggerStartModes[0]))

#define NUM_STROBE_MODES   (int)(sizeof(PSStrobeModes) / sizeof(PSStrobeModes[0]))

#define NUM_SYNC_OUT_MODES   (int)(sizeof(PSSyncOutModes) / sizeof(PSSyncOutModes[0]))

#define PSBadFrameCounterString   "PS_BAD_FRAME_COUNTER"

#define PSDriverTypeString   "PS_DRIVER_TYPE"

#define PSFilterVersionString   "PS_FILTER_VERSION"

#define PSFrameRateString   "PS_FRAME_RATE"

#define PSFramesCompletedString   "PS_FRAMES_COMPLETED"

#define PSFramesDroppedString   "PS_FRAMES_DROPPED"

#define PSPacketsErroneousString   "PS_PACKETS_ERRONEOUS"

#define PSPacketsMissedString   "PS_PACKETS_MISSED"

#define PSPacketsReceivedString   "PS_PACKETS_RECEIVED"

#define PSPacketsRequestedString   "PS_PACKETS_REQUESTED"

#define PSPacketsResentString   "PS_PACKETS_RESENT"

#define PSReadStatisticsString   "PS_READ_STATISTICS"

Driver-specific parameters for the Prosilica driver.

#define PSStrobe1CtlDurationString   "PS_STROBE_1_CTL_DURATION"

#define PSStrobe1DelayString   "PS_STROBE_1_DELAY"

#define PSStrobe1DurationString   "PS_STROBE_1_DURATION"

#define PSStrobe1ModeString   "PS_STROBE_1_MODE"

#define PSSyncIn1LevelString   "PS_SYNC_IN_1_LEVEL"

#define PSSyncIn2LevelString   "PS_SYNC_IN_2_LEVEL"

#define PSSyncOut1InvertString   "PS_SYNC_OUT_1_INVERT"

#define PSSyncOut1LevelString   "PS_SYNC_OUT_1_LEVEL"

#define PSSyncOut1ModeString   "PS_SYNC_OUT_1_MODE"

#define PSSyncOut2InvertString   "PS_SYNC_OUT_2_INVERT"

#define PSSyncOut2LevelString   "PS_SYNC_OUT_2_LEVEL"

#define PSSyncOut2ModeString   "PS_SYNC_OUT_2_MODE"

#define PSSyncOut3InvertString   "PS_SYNC_OUT_3_INVERT"

#define PSSyncOut3LevelString   "PS_SYNC_OUT_3_LEVEL"

#define PSSyncOut3ModeString   "PS_SYNC_OUT_3_MODE"


Enumeration Type Documentation

Enumerator:
PSTriggerStartFreeRun 
PSTriggerStartSyncIn1 
PSTriggerStartSyncIn2 
PSTriggerStartSyncIn3 
PSTriggerStartSyncIn4 
PSTriggerStartFixedRate 
PSTriggerStartSoftware 


Function Documentation

epicsExportRegistrar ( prosilicaRegister   ) 

int prosilicaConfig ( char *  portName,
int  uniqueId,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)


Generated on Thu May 20 18:01:43 2010 for areaDetector by  doxygen 1.5.7.1