|
areaDetector 1-9
|
Driver for Prosilica GigE and CameraLink cameras using their PvApi library. More...
Public Member Functions | |
| prosilica (const char *portName, const char *cameraId, int maxBuffers, size_t maxMemory, int priority, int stackSize, int maxPvAPIFrames) | |
| Constructor for Prosilica driver; most parameters are simply passed to ADDriver::ADDriver. | |
| ~prosilica () | |
| virtual asynStatus | connect (asynUser *pasynUser) |
| Connects driver to device; The base class implementation simply calls pasynManager->exceptionConnect if address is valid Derived classes can reimplement this function for real connection management. | |
| virtual asynStatus | disconnect (asynUser *pasynUser) |
| Disconnects driver from device; the base class implementation simply calls pasynManager->exceptionDisconnect. | |
| virtual asynStatus | writeInt32 (asynUser *pasynUser, epicsInt32 value) |
| Called when asyn clients call pasynInt32->write(). | |
| virtual asynStatus | writeFloat64 (asynUser *pasynUser, epicsFloat64 value) |
| Called when asyn clients call pasynFloat64->write(). | |
| void | report (FILE *fp, int details) |
| Report status of the driver. | |
| asynStatus | cameraLinkCallback (tPvInterface Interface, tPvLinkEvent Event, unsigned long UniqueId) |
| void | frameCallback (tPvFrame *pFrame) |
| This function gets called in a thread from the PvApi library when a new frame arrives. | |
Static Public Member Functions | |
| static void | shutdown (void *arg) |
Protected Attributes | |
| int | PSReadStatistics |
| int | PSDriverType |
| int | PSFilterVersion |
| int | PSTimestampType |
| int | PSResetTimer |
| int | PSFrameRate |
| int | PSByteRate |
| int | PSPacketSize |
| int | PSFramesCompleted |
| int | PSFramesDropped |
| int | PSPacketsErroneous |
| int | PSPacketsMissed |
| int | PSPacketsReceived |
| int | PSPacketsRequested |
| int | PSPacketsResent |
| int | PSBadFrameCounter |
| int | PSTriggerDelay |
| int | PSTriggerEvent |
| int | PSTriggerOverlap |
| int | PSTriggerSoftware |
| int | PSSyncIn1Level |
| int | PSSyncIn2Level |
| int | PSSyncOut1Mode |
| int | PSSyncOut1Level |
| int | PSSyncOut1Invert |
| int | PSSyncOut2Mode |
| int | PSSyncOut2Level |
| int | PSSyncOut2Invert |
| int | PSSyncOut3Mode |
| int | PSSyncOut3Level |
| int | PSSyncOut3Invert |
| int | PSStrobe1Mode |
| int | PSStrobe1Delay |
| int | PSStrobe1CtlDuration |
| int | PSStrobe1Duration |
Driver for Prosilica GigE and CameraLink cameras using their PvApi library.
| prosilica::prosilica | ( | const char * | portName, |
| const char * | cameraId, | ||
| int | maxBuffers, | ||
| size_t | maxMemory, | ||
| int | priority, | ||
| int | stackSize, | ||
| int | maxPvAPIFrames | ||
| ) |
Constructor for Prosilica driver; most parameters are simply passed to ADDriver::ADDriver.
After calling the base class constructor this method creates a thread to collect the detector data, and sets reasonable default values for the parameters defined in this class, asynNDArrayDriver and ADDriver.
| [in] | portName | The name of the asyn port driver to be created. |
| [in] | cameraId | The uniqueId, IP address or IP DNS name of the camera to be connected to this driver. |
| [in] | maxBuffers | The maximum number of NDArray buffers that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited number of buffers. |
| [in] | maxMemory | The maximum amount of memory that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited amount of memory. |
| [in] | priority | The thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. |
| [in] | stackSize | The stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. |
| [in] | maxPvAPIFrames | The number of frame buffers to use in the PvAPI library driver. Default=MAX_PVAPI_FRAMES=2. |
| prosilica::~prosilica | ( | ) |
| asynStatus prosilica::cameraLinkCallback | ( | tPvInterface | Interface, |
| tPvLinkEvent | Event, | ||
| unsigned long | UniqueId | ||
| ) |
| asynStatus prosilica::connect | ( | asynUser * | pasynUser | ) | [virtual] |
Connects driver to device; The base class implementation simply calls pasynManager->exceptionConnect if address is valid Derived classes can reimplement this function for real connection management.
| [in] | pasynUser | The pasynUser structure which contains information about the port and address |
Reimplemented from asynPortDriver.
| asynStatus prosilica::disconnect | ( | asynUser * | pasynUser | ) | [virtual] |
Disconnects driver from device; the base class implementation simply calls pasynManager->exceptionDisconnect.
Derived classes can reimplement this function for real connection management.
| [in] | pasynUser | The pasynUser structure which contains information about the port and address |
Reimplemented from asynPortDriver.
| void prosilica::frameCallback | ( | tPvFrame * | pFrame | ) |
This function gets called in a thread from the PvApi library when a new frame arrives.
| void prosilica::report | ( | FILE * | fp, |
| int | details | ||
| ) | [virtual] |
Report status of the driver.
Prints details about the driver if details>0. It then calls the ADDriver::report() method.
| [in] | fp | File pointed passed by caller where the output is written to. |
| [in] | details | If >0 then driver details are printed. |
Reimplemented from asynNDArrayDriver.
| void prosilica::shutdown | ( | void * | arg | ) | [static] |
| asynStatus prosilica::writeFloat64 | ( | asynUser * | pasynUser, |
| epicsFloat64 | value | ||
| ) | [virtual] |
Called when asyn clients call pasynFloat64->write().
This function performs actions for some parameters, including ADAcquireTime, ADGain, etc. For all parameters it sets the value in the parameter library and calls any registered callbacks..
| [in] | pasynUser | pasynUser structure that encodes the reason and address. |
| [in] | value | Value to write. |
Reimplemented from asynPortDriver.
| asynStatus prosilica::writeInt32 | ( | asynUser * | pasynUser, |
| epicsInt32 | value | ||
| ) | [virtual] |
Called when asyn clients call pasynInt32->write().
This function performs actions for some parameters, including ADAcquire, ADBinX, etc. For all parameters it sets the value in the parameter library and calls any registered callbacks..
| [in] | pasynUser | pasynUser structure that encodes the reason and address. |
| [in] | value | Value to write. |
Reimplemented from ADDriver.
int prosilica::PSBadFrameCounter [protected] |
int prosilica::PSByteRate [protected] |
int prosilica::PSDriverType [protected] |
int prosilica::PSFilterVersion [protected] |
int prosilica::PSFrameRate [protected] |
int prosilica::PSFramesCompleted [protected] |
int prosilica::PSFramesDropped [protected] |
int prosilica::PSPacketsErroneous [protected] |
int prosilica::PSPacketSize [protected] |
int prosilica::PSPacketsMissed [protected] |
int prosilica::PSPacketsReceived [protected] |
int prosilica::PSPacketsRequested [protected] |
int prosilica::PSPacketsResent [protected] |
int prosilica::PSReadStatistics [protected] |
int prosilica::PSResetTimer [protected] |
int prosilica::PSStrobe1CtlDuration [protected] |
int prosilica::PSStrobe1Delay [protected] |
int prosilica::PSStrobe1Duration [protected] |
int prosilica::PSStrobe1Mode [protected] |
int prosilica::PSSyncIn1Level [protected] |
int prosilica::PSSyncIn2Level [protected] |
int prosilica::PSSyncOut1Invert [protected] |
int prosilica::PSSyncOut1Level [protected] |
int prosilica::PSSyncOut1Mode [protected] |
int prosilica::PSSyncOut2Invert [protected] |
int prosilica::PSSyncOut2Level [protected] |
int prosilica::PSSyncOut2Mode [protected] |
int prosilica::PSSyncOut3Invert [protected] |
int prosilica::PSSyncOut3Level [protected] |
int prosilica::PSSyncOut3Mode [protected] |
int prosilica::PSTimestampType [protected] |
int prosilica::PSTriggerDelay [protected] |
int prosilica::PSTriggerEvent [protected] |
int prosilica::PSTriggerOverlap [protected] |
int prosilica::PSTriggerSoftware [protected] |
1.7.4