areaDetector 1-9
Classes | Defines | Enumerations | Functions
/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 <ctype.h>
#include <epicsTime.h>
#include <epicsThread.h>
#include <epicsString.h>
#include <epicsStdio.h>
#include <epicsMutex.h>
#include <cantProceed.h>
#include <osiSock.h>
#include <iocsh.h>
#include <epicsExport.h>
#include <epicsExit.h>
#include "PvApi.h"
#include "ADDriver.h"

Classes

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

Defines

#define MAX_PVAPI_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   ((int)(&LAST_PS_PARAM - &FIRST_PS_PARAM + 1))
#define NUM_TRIGGER_START_MODES   (int)(sizeof(PSTriggerStartModes) / sizeof(PSTriggerStartModes[0]))
#define NUM_TRIGGER_EVENT_MODES   (int)(sizeof(PSTriggerEventModes) / sizeof(PSTriggerEventModes[0]))
#define NUM_TRIGGER_OVERLAP_MODES   (int)(sizeof(PSTriggerOverlapModes) / sizeof(PSTriggerOverlapModes[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 PSTimestampTypeString   "PS_TIMESTAMP_TYPE"
#define PSResetTimerString   "PS_RESET_TIMER"
#define PSFrameRateString   "PS_FRAME_RATE"
#define PSByteRateString   "PS_BYTE_RATE"
#define PSPacketSizeString   "PS_PACKET_SIZE"
#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 PSTriggerDelayString   "PS_TRIGGER_DELAY"
#define PSTriggerEventString   "PS_TRIGGER_EVENT"
#define PSTriggerOverlapString   "PS_TRIGGER_OVERLAP"
#define PSTriggerSoftwareString   "PS_TRIGGER_SOFTWARE"
#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
}
enum  PSTimestampType_t { PSTimestampTypeNativeTicks, PSTimestampTypeNativeSeconds, PSTimestampTypePOSIX, PSTimestampTypeEPICS }

Functions

int prosilicaConfig (char *portName, const char *cameraId, int maxBuffers, size_t maxMemory, int priority, int stackSize, int maxPvAPIFrames)
 epicsExportRegistrar (prosilicaRegister)

Define Documentation

#define FIRST_PS_PARAM   PSReadStatistics
#define LAST_PS_PARAM   PSStrobe1Duration
#define MAX_PACKET_SIZE   8228
#define MAX_PVAPI_FRAMES   2

Number of frame buffers for PvApi.

#define NUM_PS_PARAMS   ((int)(&LAST_PS_PARAM - &FIRST_PS_PARAM + 1))
#define NUM_STROBE_MODES   (int)(sizeof(PSStrobeModes) / sizeof(PSStrobeModes[0]))
#define NUM_SYNC_OUT_MODES   (int)(sizeof(PSSyncOutModes) / sizeof(PSSyncOutModes[0]))
#define NUM_TRIGGER_EVENT_MODES   (int)(sizeof(PSTriggerEventModes) / sizeof(PSTriggerEventModes[0]))
#define NUM_TRIGGER_OVERLAP_MODES   (int)(sizeof(PSTriggerOverlapModes) / sizeof(PSTriggerOverlapModes[0]))
#define NUM_TRIGGER_START_MODES   (int)(sizeof(PSTriggerStartModes) / sizeof(PSTriggerStartModes[0]))
#define PSBadFrameCounterString   "PS_BAD_FRAME_COUNTER"
#define PSByteRateString   "PS_BYTE_RATE"
#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 PSPacketSizeString   "PS_PACKET_SIZE"
#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 PSResetTimerString   "PS_RESET_TIMER"
#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"
#define PSTimestampTypeString   "PS_TIMESTAMP_TYPE"
#define PSTriggerDelayString   "PS_TRIGGER_DELAY"
#define PSTriggerEventString   "PS_TRIGGER_EVENT"
#define PSTriggerOverlapString   "PS_TRIGGER_OVERLAP"
#define PSTriggerSoftwareString   "PS_TRIGGER_SOFTWARE"

Enumeration Type Documentation

Enumerator:
PSTimestampTypeNativeTicks 
PSTimestampTypeNativeSeconds 
PSTimestampTypePOSIX 
PSTimestampTypeEPICS 
Enumerator:
PSTriggerStartFreeRun 
PSTriggerStartSyncIn1 
PSTriggerStartSyncIn2 
PSTriggerStartSyncIn3 
PSTriggerStartSyncIn4 
PSTriggerStartFixedRate 
PSTriggerStartSoftware 

Function Documentation

epicsExportRegistrar ( prosilicaRegister  )
int prosilicaConfig ( char *  portName,
const char *  cameraId,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize,
int  maxPvAPIFrames 
)